1.定义
局部变量,只有在函数内生效,若全局变量是str字符串、整数等简单的类型,局部函数是不能改全局的
但是全局变量是字典、列表等较复杂的类型,局部变化会改变全局的
函数就是局部变量的作用域
#程度一开始,或顶级的变量都是全局变量,如school
school="sunyasun"
def chang_name(name):
#global这种方法不要用
global school#声明该变量是全局变量,然后局部变化时,可以改全局
school="shanghai"
print("before changed:",name)
#局部变量name更新为新的值
name ="ABC"
#name已经变化了,可以打印出来看
print("after changed:",name)
print(school)
name="zhangsan"
chang_name(name)#函数内已经变化,变为了ABC
print(name)#但是函数外的name值没有变化,还是zhangsan
print(school)
#字典、列表、集合等局部变量会改变全局变量的
names={"name":"lisi","sex":"man"}
lists=["zhangsan","wangwu"]
def chang():
names["sex"]="female"
lists[0]="bibi"
print("函数内:",names,lists)
chang()
print("函数外:",names,lists)
网友评论