Python中的全局变量和局部变量?

变量有两种类型:全局变量和局部变量。

全局变量的范围是整个程序,而局部变量的范围限于定义它的函数。

def func():
x = "Python"
print(x)
print(s)
s = "Nhooo"
print(s)
func()
print(x)

在上面的程序中-x是局部变量,而s是全局变量,我们只能在定义的函数中访问局部变量(上面的func()),然后尝试在其作用域(func())之外调用局部变量通过错误。但是,我们可以在程序中的任何位置调用全局变量,包括程序中定义的函数(func())。

局部变量

局部变量只能在它们的范围内访问(func()如上)。

像下面的程序一样,有两个局部变量– x和y。

def sum(x,y):
sum = x + y
return sum
print(sum(5, 10))

输出结果

15

变量x和y仅在函数内部工作/使用,而在函数sum()外部不存在。因此,尝试通过NameError来使用超出其范围的局部变量。所以很明显,下面的线是行不通的。

print(x)

全局变量

全局变量可以在程序中的任何地方使用,因为它的范围是整个程序。

让我们通过一个非常简单的示例来了解全局变量-

z = 25
def func():
global z
print(z)
z=20
func()
print(z)

输出结果

25
20

调用时func(),整个程序的全局变量值都会更改。

下面的示例显示了局部变量和全局变量以及函数参数的组合-

def func(x, y):
global a
a = 45
x,y = y,x
b = 33
b = 17
c = 100
print(a,b,x,y)
a,b,x,y = 3,15,3,4
func(9,81)
print (a,b,x,y)

输出结果

45 17 81 9
45 15 3 4