局部变量与全局变量

局部变量:在子程序中定义的变量

全局变量:在程序一开始定义的变量

当全局变量与局部变量同名时:

在定义局部变量的子程序内,局部变量起作用,其它地方全局变量起作用。

>>> like = 'beauty'
>>> def test():
...   like = 'money'
...   print(like)
...
>>> like
'beauty'
>>> test()
money
>>> like
'beauty'

特殊情况下,如果想在函数内部修改全局变量,可以通过global关键字(修改字符串,数字的时候);修改列表,字典,集合可不用global关键字:

>>> def test():
...   global like # 修改字符串需要global关键字
...   like = 'money'
...
>>> like
'beauty'
>>> test()
>>> like
'money'
>>> like = ['beauty', 'sport', 'singing']
>>> def test():
...   like[1] = 'game' # 修改列表不需要global关键字
...
>>> like
['beauty', 'sport', 'singing']
>>> test()
>>> like
['beauty', 'game', 'singing']
原文地址:https://www.cnblogs.com/allenzhang-920/p/8783745.html