Python函数中,存在两种变量:局部变量和全局变量。
局部变量:定义在函数内部的变量,只能在函数内部使用,函数执行结束后,该变量会被销毁。
全局变量:定义在函数外部的变量,整个程序都可以访问该变量。
当全局变量和局部变量同名时,函数内部会优先使用局部变量,如果想要在函数内部访问全局变量,需要使用global关键字声明一下。
下面是Python函数全体变量的详细攻略:
全局变量
定义全局变量的方法是将变量定义在函数外部:
count = 0 # 定义全局变量count
def increment():
global count # 使用global关键字告诉函数count是全局变量
count += 1
increment() # 调用函数increment
print(count) # 输出全局变量count的值
输出结果为1,因为increment函数执行后,全局变量count的值加1了。
局部变量
定义局部变量的方法是将变量定义在函数内部:
def print_message():
message = "Hello, world!" # 定义局部变量message
print(message)
print_message() # 调用函数print_message
输出结果为”Hello, world!”,因为print_message函数内部定义了一个局部变量message,并且在函数内部使用它。
全局变量和局部变量同名
如果在函数内部存在和全局变量同名的变量,则函数内的同名变量会优先于全局变量。为了在函数内部访问全局变量,需要使用global关键字:
count = 0 # 定义全局变量count
def increment():
count = 1 # 函数内部定义同名的局部变量count
count += 1 # 自增1
print(count) # 输出局部变量count的值
increment() # 调用函数increment
print(count) # 输出全局变量count的值
输出结果为2和0,因为在increment函数内部,count被重新定义为局部变量,并且其值被加1输出,函数执行后局部变量count销毁,全局变量count的值并没有发生变化,仍然是0。
以上就是Python函数全体变量的完整攻略。