局部变量:在子程序中定义的变量
全局变量:在程序一开始定义的变量
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用,其它地方全局变量起作用。
>>> 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']