Python函数中的全局变量

Python与开源GIS

Python函数中的全局变量

2016-09-14 作者: zhangxiang 浏览: 2305 次

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

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

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

使用全局变量的例子:

x = 50

def 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

关注“开源集思”公众号
获取免费资源

随机推荐


Copyright © from 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org