是的,在主函数中声明一个帮助程序要比分别声明它们慢:
### test_nested.py ###import timeitdef foo(): def bar(): pass passprint(timeit.timeit("foo()", setup="from __main__ import foo"))### test_flat.py ###import timeitdef foo(): passdef bar(): passprint(timeit.timeit("foo()", setup="from __main__ import foo, bar"))### Shell ###✗ python3 ./test_flat.py0.42562198638916016✗ python3 ./test_nested.py0.5836758613586426这是大约30%的速度下降。请记住,在这种琐碎的情况下,创建和调用函数是解释器的全部工作。在任何实际使用中,差异将小得多。


![嵌套函数的性能开销是多少?[重复] 嵌套函数的性能开销是多少?[重复]](http://www.mshxw.com/aiimages/31/429197.png)
