Я интерпретирую этот вопрос как «могу ли я разумно ожидать, что определенный пользователем атрибут функционального объекта сохранится в течение всего времени жизни моей программы? Например, в этом коде:
def f():
f.x += 1
return f.x
f.x = 0
print(f())
print(f())
print(f())
#desired result:
#1
#2
#3
... Гарантируется ли, что fx самопроизвольно не потеряет свое значение на полпути? "
Атрибут x
функции f
сохранит свое значение в течение всего времени жизни f
.Функции, определенные в глобальной области действия, действуют в течение всего времени жизни программы.Так что вы можете смело использовать f.x
для запоминания.