Python中的全局变量和局部变量
全局变量与局部变量两者的本质区别就是在于作用域
用通俗的话来理解的话,全局变量是在整个py文件中声明,全局范围内都可以访问。
局部变量是在某个函数中声明的,只能在该函数中调用它,如果试图在超出范围的地方调用,程序就爆掉了
如果在函数内部定义与某个全局变量一样名称的局部变量,就可能会导致意外的效果,可能不是你期望的。因此不建议这样使用,这样会使得程序很不健全。
尽量少用全局变量,因为它可以在其他函数中被修改。
如果全局变量是list、字典、集合,修改的话是不需要声明的,可直接修改。
如果是字符串、int、float、元组,需要声明global,才能修改。
name='xiaoming' #全局变量 stus=[] #全局变量 #如果全局变量是list、字典、集合,修改的话是不需要声明的,可直接修改 #字符串、int、float、元组,需要声明global def a(): global name #声明全局变量,在修改后,即可修改全局变量 stus.append('abc') name='hhh' print(name) #调用时输出: hhh def b(): print(stus) #调用时输出: ['abc'] print(name) #调用时输出: hhh age=18 print(age) a() b() #调用a和b输出的结果如下: # hhh # ['abc'] # hhh # 18
更多小栗子,请参考:
https://www.cnblogs.com/Archmage/p/7569817.html