Я хотел бы узнать больше о функциях "с памятью", реализованных как классы vs закрытия.
Рассмотрим (очень) простой пример:
def constant(value):
def _inner():
return value
return _inner
x = constant(5)
print(x())
против.
class Constant():
def __init__(self, value):
self._value = value
def __call__(self):
return self._value
y = Constant(5)
print(y())
Лучше ли производительность и потребление памяти? Использование слотов сделает класс более эффективным?
Спасибо,
Хернан
Ps.- Я знаю, что в этом чрезвычайно простом примере, вероятно, это не имеет значения. Но меня интересуют более сложные функции, которые будут называться большим количеством раз или которые будут создаваться многократно.