1 全局变量
- 自己定义:写在函数外的变量,一般为全局变量
- 标识:全局变量一般用大写来定义
- 全局变量可用global关键字来声明
2 局部变量
- 自己定义:写在函数内的变量为局部变量
- 标识:局部变量一般用正常的标识符,即字母、数字、_组成,字符一般小写
- 局部变量可用nonlocal关键字来声明,用于指定上一级变量
name = 'lucy'
def chang_name():
name = 'lili'
def test():
nonlocal name
name = 'bibi'
test()
print(name)
print(name) #lucy
chang_name() #bibi
print(name) #lucy
3 使用示例
示例1:
NAME = 'lucy'
def chang_name():
global NAME #声明为全局变量
print(NAME) # lucy
NAME = 'lili'
print(NAME) #lili
示例2:
NAME = 'lucy' //全局变量
def chang_name():
NAME = 'mimi' //局部变量
global NAME #声明为全局变量
print(NAME)
chang_name() //报错 SyntaxWarning: name 'NAME' is assigned to before global declaration 函数中调用时不知道调用的是哪个NAME
示例3:
NAME = ['lucy', 'lili']
def chang_name():
global NAME #声明为全局变量
NAME = ['mimi'] #修改
NAME.append('gg') #修改
print(NAME)
chang_name() #输出为:['mimi', 'gg']
网友评论