在Python中,可以嵌套这样的函数:
def do_something(): def helper(): .... ....
除非Python更巧妙地处理这种情况,否则每次使用do_something时都必须重新创建帮助程序.事实上,这样做会影响性能,而不是在主要功能之外创建辅助功能,如果是的话,它有多棒?
解决方法 是的,在main函数中声明一个帮助器的速度比单独声明它们要慢:### 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%的放缓.请记住,在这个简单的案例中,创建和调用函数都是解释器所做的.在任何实际使用中,差异将小得多.
总结以上是内存溢出为你收集整理的python – 嵌套函数的性能开销是多少?全部内容,希望文章能够帮你解决python – 嵌套函数的性能开销是多少?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)