先接触Java或者其他语言的程序员,如果刚接触Python的话,需要对Python的变量作用域特别了解下,可能对Python里的变量作用域有点不是很理解,比如如下的程序,如果用Java的思维来看,我也以为会输出x=20 x = 50 def func1(): x = 20 func1() print(x) #x=50还是x=20? 在函数定义中声明的变量,他们与在函数外使用的其它同名变量没有任何关系,即变量名称对函数来说是局部的。 类似函数def的还有class、lambda等语句也产生局部变量作用域 但是if、t…