我想了解更多关于“带内存的”函数实现为类和闭包的信息。
考虑这个(非常)简单的例子:
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())
它们中有哪一个的性能和内存消耗更好吗?使用老虎机会让类表现得更好吗?
谢谢,
赫尔南
附言-我知道在这个非常简单的例子中,它可能并不重要。但我对更复杂的函数感兴趣,这些函数会被调用很多次,或者会被实例化很多次。
https://stackoverflow.com/questions/5430502
复制相似问题