Python global关键字的用法

Python global关键字的用法

Python global关键字的用法

在Python中,global是一个关键字,用于声明全局变量。使用global关键字可以在函数内部改变全局变量的值或者创建新的全局变量。本文将详细介绍global关键字的用法,并提供一些示例代码进行演示。

1. global关键字的基本用法

在Python中,当我们在函数内部使用一个变量时,默认情况下该变量是局部变量,只在函数内部有效。如果想要在函数内部修改全局变量的值,或者在函数内部创建一个新的全局变量,就需要使用global关键字。

下面是global关键字的基本语法:

global variable_name

其中,variable_name是一个全局变量的名称。使用global关键字后,函数内部的变量就会与该全局变量绑定。

2. 在函数内部修改全局变量的值

使用global关键字可以在函数内部修改全局变量的值。在函数内部,可以通过<variable_name> = <new_value>的方式为全局变量赋新值。

下面是一个示例代码:

x = 10

def modify_global_variable():
    global x
    x = 20

print("Before function call, x =", x)
modify_global_variable()
print("After function call, x =", x)

输出结果为:

Before function call, x = 10
After function call, x = 20

在这个例子中,我们首先定义了一个全局变量x,并赋值为10。然后定义了一个函数modify_global_variable,该函数使用了global关键字来声明变量x为全局变量。在函数内部,我们将全局变量x的值修改为20。最后,在函数调用后,我们打印出变量x的值,可以看到全局变量x的值已经被成功修改。

需要注意的是,在使用global关键字声明全局变量之前,不能对该变量进行赋值操作,否则会引发UnboundLocalError。例如,下面的代码会报错:

def modify_global_variable():
    print(x)  # 引发UnboundLocalError
    global x
    x = 20

3. 在函数内部创建新的全局变量

除了可以修改全局变量的值,使用global关键字还可以在函数内部创建新的全局变量。在函数内部,可以通过<variable_name> = <value>的方式创建新的全局变量。

下面是一个示例代码:

def create_global_variable():
    global y
    y = 30

create_global_variable()
print(y)

输出结果为:

30

在这个例子中,我们定义了一个函数create_global_variable,该函数使用了global关键字来声明变量y为全局变量,并将其赋值为30。然后,在函数调用后,我们打印出变量y的值,可以看到全局变量y已经成功创建并赋值。

需要注意的是,在使用global关键字声明全局变量之前,不能直接使用该变量,否则会引发UnboundLocalError。例如,下面的代码会报错:

def create_global_variable():
    print(y)  # 引发UnboundLocalError
    global y
    y = 30

4. 在嵌套函数中使用global关键字

在Python中,我们还可以在嵌套函数中使用global关键字,修改或者创建全局变量。如果在嵌套函数中使用global关键字声明了一个全局变量,那么该变量会被绑定到最近的一层父函数或者全局作用域中。

下面是一个示例代码:

def outer_function():
    x = 10

    def inner_function():
        global x
        x = 20

    print("Before inner function call, x =", x)
    inner_function()
    print("After inner function call, x =", x)

print("Before outer function call, x =", x)
outer_function()
print("After outer function call, x =", x)

输出结果为:

Before outer function call, x = 10
Before inner function call, x = 10
After inner function call, x = 20
After outer function call, x = 20

在这个例子中,我们定义了一个嵌套函数outer_function,其中包括一个局部变量x,并赋值为10。在outer_function中,我们定义了一个嵌套函数inner_function,在该函数中使用了global关键字来声明变量x为全局变量,并将其赋值为20。在函数调用过程中,我们打印出变量x的值,可以看到在内部函数调用后,全局变量x的值已经被成功修改。

5. 总结

在Python中,global关键字允许在函数内部修改全局变量的值或者创建新的全局变量。使用global关键字声明的全局变量可以在函数内部和外部访问。需要注意的是,在使用global关键字声明全局变量之前,不能对该变量进行赋值操作,否则会引发UnboundLocalError。另外,当在嵌套函数中使用global关键字声明全局变量时,该变量会被绑定到最近的一层父函数或者全局作用域中。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程