python函数全体变量

  • Post category:Python

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函数全体变量的完整攻略。