Python中简单事物的类或闭包

2024-04-26 12:55:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道更多关于实现类与闭包的“带内存”函数。在

考虑一个(非常)简单的例子:

def constant(value):
    def _inner():
        return value
    return _inner
x = constant(5)
print(x())

对比

^{pr2}$

它们的性能和内存消耗是否更好?使用插槽会让这个类表现得更好?在

谢谢

赫尔南

我知道在这个非常简单的例子中,可能并不重要。但是我对更复杂的函数感兴趣,这些函数会被调用很多次或者被实例化很多次。在


Tags: 实例函数内存returnvaluedef性能感兴趣
3条回答

在Python 2.6中,我得到了以下内容:

def foo(x):
    def bar():
        return x
    return bar

b = foo(4)
b.__sizeof__()
>>> 44

但是使用一个类:

^{pr2}$

看起来函数版本的内存占用更大。在

我会编写更复杂的函数并对它们进行分析。在

如果您想要性能而只想访问值,那么最好使用内置数据类型(如元组)以获得最佳性能

相关问题 更多 >