Попытка правильно удалить объект Python. Я создаю объект, а затем предположительно удаляю его с помощью оператора with. Но когда я распечатываю после закрытия оператора with... объект все еще существует:
class Things(object):
def __init__(self, clothes, food, money):
self.clothes = clothes
self.food = food
self.money = money
def __enter__(self):
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print('object deleted')
with Things('socks','food',12) as stuff:
greg = stuff.clothes
print(greg)
print(stuff.clothes)
возвращает:
socks
object deleted
socks
with
, но, как вы заметили, продолжает существовать до конца скрипта. Если у вас есть строкаdel stuff
, тогда материал имени становится неопределенным. Это редко приходится делать. - person Paul Cornelius   schedule 15.03.2016