x = 1 def f(): if x: ...
x = 1 def f(): if x: ...
def foo(): global x x=3 foo() print x
import timeit x = 3 def foo(): global x y = x ** 2 def bar(): y = x ** 2 print(timeit.timeit("foo()", setup="from __main__ import foo")) print(timeit.timeit("bar()", setup="from __main__ import bar"))
0.249526023865 0.161004066467
FishHookТут таки важно какой питон. Важно, в каком контексте это надо. Поэтому, я бы так категорично не утверждал.
БЕЗ global функция работает гораздо быстрее, посему не пихайте ее в код без нужды, а такую нужду придумать весьма непросто.