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

 

posted @ 2018-12-03 21:21  denise1108  阅读(918)  评论(0编辑  收藏  举报