当前位置:   article > 正文

3.8 Python函数中的局部变量和全局变量_python x1==50

python x1==50

局部变量

你在函数定义中声明的变量,他们与在函数外使用的其它同名变量没有任何关系,即变量名称对函数来说是局部的。 这叫变量的范围。所有变量都有它们被声明的块的范围,从名称定义的点开始。

局部变量定义举例:
  1. x = 50def func(x): print('x等于', x) x = 2 print('局部变量x改变为', x)func(x)print('x一直是', x)
输出:
x等于50
局部变量x改变为2
x一直是50

它是如何工作的:
第一次,我们使用函数体中第一行打印变量x的值,Python使用在主块中,函数定义上声明的实参。

接下来,我们给x赋值为2,变量为x对我们的函数来说是局部变量,因此在函数中当我们改变x的值时,在主块中定义的变量x不受影响。

最后调用的print函数,显示在主块中定义的变量x,因此证实,它不受在前面调用函数的局部变量的影响。

使用全局声明

如果你想给在顶层的程序(即未在任何类型的范围如函数或类之中)定义的变量赋值,那么你必须告诉Python,变量不是局部的,而是全局的。 我们使用global语句,没有global语句赋值给一个在函数外定义的变量是不可能的。

您可以使用这些在函数外定义的变量的值(假设在函数内没有同名的变量)。然而,这并不鼓励,应该避免,因为这使程序的读者不清楚变量是在哪里定义的,使用 global 语句就非常清楚,变量定义在一个最外的块中。

使用全局变量的例子:
  1. x = 50def func(): global x print('x的值是', x) x = 2 print('全局变量x改为', x)func()print('x的值是', x)
输出:
x的值是50
全局变量to改为2
x的值是2

它是如何工作的:
global语句用来声明x是全局变量,当我们在函数内给x赋值时,它的改变映射到我们在主块中使用的x的值。

用同样的global语句可以指定多个全局变量,比如: global x, y, z。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/261481
推荐阅读
相关标签
  

闽ICP备14008679号