python函数全体变量

  • Post category:Python

Python函数全局变量的攻略

在函数内部和函数外部都可以定义变量,当在函数内部定义变量时,其作用域是局部的,即只能在该函数内部使用;而在函数外部定义的变量,则作用域是全局的,即整个程序都可以使用该变量。Python中也可以在函数内部使用全局变量,但是需要注意一些细节。

定义全局变量

在函数外部定义的变量是全局变量,可以被整个程序访问,具体方法如下:

a = 10  # 在函数外部定义全局变量a
def func():
    print(a)  # 在函数内部使用全局变量a
print(a)  # 在函数外部可以正常访问全局变量a
func()  # 在函数内部也可以访问全局变量a

在函数内部如果需要改变全局变量,需要在函数内部显式地声明该变量为全局变量,具体方法为在函数内部使用global关键字声明:

a = 10  # 在函数外部定义全局变量a
def func():
    global a  # 在函数内部声明全局变量a
    a = 5  # 修改全局变量a的值为5
    print(a)  # 在函数内部访问全局变量a,输出结果为5
print(a)  # 在函数外部访问全局变量a,输出结果为10
func()  # 在函数内部修改全局变量a的值为5,并输出结果为5
print(a)  # 再次在函数外部访问全局变量a,输出结果为5

函数参数与局部变量

在函数内部定义的变量是局部变量,函数外部无法访问。此外,函数参数也是局部变量,参数也可以与全局变量同名。具体方法如下:

a = 10  # 在函数外部定义全局变量a
def func(a):
    print(a)  # 输出函数参数a,此时a的作用域为局部变量
    a = 5  # 在函数内部重新定义局部变量a,此时不会影响全局变量a的值
    print(a)  # 输出局部变量a,此时a的值为5
func(20)  # 调用函数并传入参数20,输出结果为20和5
print(a)  # 在函数外部访问全局变量a,输出结果为10

函数参数也可以与全局变量同名,此时函数参数的作用域将覆盖全局变量的作用域。如果需要在函数内部访问全局变量,则需要使用global关键字声明全局变量:

a = 10  # 在函数外部定义全局变量a
def func(a):
    print(a)  # 输出函数参数a,此时a的作用域为局部变量,其值为20
    global a  # 在函数内部声明全局变量a
    a = 5  # 修改全局变量a的值为5
    print(a)  # 在函数内部访问全局变量a,输出结果为5
func(20)  # 调用函数并传入参数20,输出结果为20和5
print(a)  # 在函数外部访问全局变量a,输出结果为5

以上就是Python函数全局变量的攻略,总结来说:

  1. 在函数内部可以访问全局变量
  2. 在函数内部需要修改全局变量时,需要使用global关键字声明
  3. 函数参数是局部变量,函数参数也可以与全局变量同名
  4. 如果需要在函数内部访问全局变量,需要使用global关键字声明全局变量。