defset_x(num): # 但是不能在函数内部改变全局变量 # 这里的x是一个新生成的,只在函数内生效的局部变量 x = num # => 43 print(x) # => 43
defset_global_x(num): # 如果想要在函数内部改变全局变量,需要通过global声明 global x print(x) # => 5 x = num # global var x is now set to num print(x) # => num
1
get_x(6)
6
5
1 2
set_x(6) print(x)
6
5
1 2
set_global_x(6) print(x)
5
6
6
1 2 3 4 5 6 7 8 9 10 11
# python支持头等函数 # 简单来讲,return的函数就是上层函数的头等函数 defcreate_adder(x): # suber就是简单的嵌套定义了一个函数 defsuber(z): return x - z n = suber(5) # adder参与返回值,是头等函数 defadder(y): return n + y return adder