开发者社区> 问答> 正文

python 全局变量怎么用

python 全局变量怎么用

展开
收起
云计算小粉 2018-05-10 20:11:03 1352 0
2 条回答
写回答
取消 提交回答
  • 全局变量就得了解一下变量作用域搜索原则LEGB:

    1.L(local)局部作用域

    2.E(enclosing)嵌套作用域

    3.G(global)全局作用域

    4.B(built-in)内置作用域

    如果定定了全局变量,在本地作用域内比如在函数内部要修改,就必须用gloabl 声明一下变量

    否则会报错。

    2019-11-06 10:26:07
    赞同 展开评论 打赏
  • 接触Python时间不长,对有些知识点,掌握的不是很扎实,我个人比较崇尚不管学习什么东西,首先一定回去把基础打的非常扎实了,再往高处走。今天遇到了Python中的全局变量的相关操作,遇到了问题,所以,在这里将自己遇到的问题,做个记录,以长记心!!!

    在Python中使用全局变量,其实,个人认为并不是很明智的选择;但是自己还是坚信,存在便合理,在于你怎么使用;全局变量降低了模块和函数之间的通用性;所以,在以后的编程过程中,应尽量避免使用全局变量。

    全局变量的使用:

    方法一:

    为了便于代码管理,将全局变量统一放到一个模块中,然后在使用全局变量的时候,导入全局变量模块,通过这种方法来进行使用全局变量;
    在一个模块中定义全局变量:

    复制代码 代码如下:

    #global.py
    GLOBAL_1 = 1
    GLOBAL_2 = 2
    GLOBAL_3 = 'Hello World'

    然后在一个模块中导入全局变量定义模块,在新模块中使用全局变量:

    复制代码 代码如下:

    import globalValues

    def printGlobal():

     print(globalValues.GLOBAL_1)  
     print(globalValues.GLOBAL_3)  
     globalValues.GLOBAL_2 += 1 # modify values  
    

    if name == '__main__':

     printGlobal()  
     print(globalValues.GLOBAL_2)  
    

    方法二:

    直接在模块中定义全局变量,然后在函数中直接使用就ok了。但是在使用全局变量的时候,必须在函数中使用global关键字进行标识:

    复制代码 代码如下:

    CONSTANT = 0

    def modifyGlobal():

     global CONSTANT  
     print(CONSTANT)  
     CONSTANT += 1  
    

    if name == '__main__':

     modifyGlobal()  
     print(CONSTANT)  
    2019-07-17 22:25:04
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载