是的,每次都会创建一个新对象。除非您处于紧密的循环中,否则这可能不是问题。分析将告诉您是否有问题。
In [80]: def foo():
....: def bar():
....: pass
....: return bar
....:
In [81]: id(foo())
Out[81]: 29654024
In [82]: id(foo())
Out[82]: 29651384
在Python中嵌套函数时会有开销吗?
是的,每次都会创建一个新对象。除非您处于紧密的循环中,否则这可能不是问题。分析将告诉您是否有问题。
In [80]: def foo():
....: def bar():
....: pass
....: return bar
....:
In [81]: id(foo())
Out[81]: 29654024
In [82]: id(foo())
Out[82]: 29651384