-Python-global用法

Python-global用法

chenyang 60天前 100

global

定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global。

通过作用的描述可知,这个东西是在函数里面使用的,在函数外面使用无效。

示例代码:
1、同一个变量,如果在函数内部改变这个变量的值,不会影响外部变量。

x = 10
def func(x):
    x = 20
    print('函数内部的x值:',x,'x的内存地址:', id(x))
func(x)
print('函数外部的x值:',x,'x的内存地址:', id(x))

运行结果:

函数内部的x值: 20 x的内存地址: 4333825264
函数外部的x值: 10 x的内存地址: 4333824944

通过以上的示例可见,在函数的内部和外部,同一个变量它们的内存地址不同,仅仅是变量名相同而已

2、在函数外部声明一个变量为global。

global x
x = 10
def func():
    x = 20
    print('函数内部的x值:',x,'x的内存地址:', id(x))
func()
print('函数外部的x值:',x,'x的内存地址:', id(x))

运行结果:

函数内部的x值: 20 x的内存地址: 4558863600
函数外部的x值: 10 x的内存地址: 4558863280

运行结果示例1中的一样,说面global这个东东在函数外面是不起作用的。

3、在函数内部使用global。

x = 10
def func():
    global x
    x = 20
    print('函数内部的x值:',x,'x的内存地址:', id(x))
func()
print('函数外部的x值:',x,'x的内存地址:', id(x))

运行结果:

函数内部的x值: 20 x的内存地址: 4430699760
函数外部的x值: 20 x的内存地址: 4430699760

可见在函数内部声明了global后,函数内部就可以随意修改函数外部的同名变量了,其实操作的是同一个值。

最新回复 (0)
返回
发新帖
0