您的位置:首页 > 编程语言 > Python开发

python学习之路-变量

2017-12-19 16:53 267 查看

全局变量和局部变量

知识点:当全局变量和局部变量重名时,局部变量中的变量参数起作用,其他地方全局变量参数起作用。

定义一个全局变量name,然后用定义一个函数为把name改成大写

name = "abc"
def change_name(name):
print('改名之前:',name)
name = "ABC"
print("改名之后:",name)
change_name(name)
print(name)


结果:

改名之前: abc
改名之后: ABC
abc


name = "abc"是全局变量
name = "ABC"是局部变量,


在函数内,局部变量只在函数内生效,不会影响全局变量

在函数内定义全局变量,使用global参数

name = "abc"
age = 22
def change_name(name):
global age
print('改之前:',name,age)
name = "ABC"
age = 33
print("改之后:",name,age)
change_name(name)
print(name)
print(age)


结果:

改之前: abc 22
改之后: ABC 33
abc
33


在函数中定义了age = 33,由于使用了glogal参数,因此函数内的age成了全局变量。

一般不在函数中直接定义全局变量。

如果变量是不是字符或者整型,如字典,元组,列表,集合等,那么函数内,局部变量是可以更改全局变量的

例子:定义一个列表,在函数内更改列表的内容

names = ["a","b","c","d"]
print("更改之前:",names)
def change():
names[0] = "A"
names[2] = "C"
print("更改之前:",names)
change()
print("验证:",names)


结果:

更改之前: ['a', 'b', 'c', 'd']
更改之前: ['A', 'b', 'C', 'd']
验证: ['A', 'b', 'C', 'd']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: