0%

作用域

作用域

使用的是python3.x版本

python的变量作用域还是和java不同的,不是说写在函数外边就是全局变量,需要用global修饰才会是全局变量

局部变量

在函数内定义中声明变量时,其不会以任何方式与在函数之外定义但是具有相同名称的变量产生关系。这个变量只存在于函数内部

1
2
3
4
5
6
7
8
9
10

x = 50
def function_local(x):
print('x值为',x)
x = 2
print('修改局部变量x值为',x)


function_local(x)
print('函数外x值为',x)

输出结果为

1
2
3
x值为 50
修改局部变量x值为 2
函数外x值为 50

也就是说主代码块的x值不会受到影响

全局变量

如果想要在函数内使用函数外的变量,必须告诉python这个变量不是局部的,而是全局的

1
2
3
4
5
6
7
8
9
10
x = 50

def function_global():
global x
print('x使用全局变量值为',x)
x = 2
print('修改全局变量x值为',x)

function_global()
print('全局变量x值为',x)

输出结果为

1
2
3
x使用全局变量值为 50
修改全局变量x值为 2
全局变量x值为 2

欢迎关注我的其它发布渠道