python学习之路-变量

来源:互联网 发布:windows原版aero主题 编辑:程序博客网 时间:2024/05/21 06:59

全局变量和局部变量

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

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

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

结果:

改名之前: abc改名之后: ABCabc
name = "abc"是全局变量name = "ABC"是局部变量,

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

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

name = "abc"age = 22def 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 33abc33

在函数中定义了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']
原创粉丝点击