1.Python当中没有块级的作用于:代码如下:
if 1==1: name="Alex"#在java中不可以打印出来但是在Python中是没有块作用域,它还在外面生效 print(name)#在javasript也是可以打印的,在Python中也可以打印
2.Python中的作用于是以函数为作用域的。代码如下:
def fun1(): name="Alex" # print(name)会报错,超出了name的作用域
3.在Python中作用域先找它自身函数的,然后再往外找,Python中是有作用域链的
name="Alex" def f2(): name="eric" def f3(): print(name)#从里面向外面找 f3() f2() n="Alex" def fu(): print(n)#从里到 外找,跟fu这个函数放在哪里是没有关系的 def f1(): n="AJ" fu() f1()
4.Python的作用域是在执行之前就已经确定下来的,如果要执行就去原来的作用域找就可以了
转载请注明原文地址: https://ju.6miu.com/read-1310381.html