Python编程global关键字有什么用

2022年4月18日 20点热度 0人点赞

Python编程global关键字有什么用

工具/原料

  • Python3
  • Windows电脑

方法/步骤

  1. 1

    打开Python开发工具,新建‘glo.py’文件,并写代码如下:

    def func():

        bl = 'abc'

        print (bl)

     

    def otherfunc():

        print (bl)

     

    func()

    otherfunc()

    这里定义了两个函数,第一个函数内定义了一个局部变量bl,并打印出来,第二个函数试图打印第一个函数内定义的局部变量

  2. 2

    F5运行代码,第一个函数顺利执行,打印出变量值,第二函数在打印第一个函数内的局部变量报错,因为局部变量作用域只在定义的函数内。

    0深入理解Python变量的作用域

  3. 3

    修改代码,在定义变量时使用global关键字,代码如下:

    def func():

        global bl

        bl = 'abc'

        print (bl)

     

    def otherfunc():

        print (bl)

     

    func()

    otherfunc()

  4. 4

    F5运行代码,两个函数都顺利执行了,因为global关键字把变量提升为全局变量,作用域整个文件。

  5. 5

    通常如果仅需要读取全局变量,不使用global也可以,把变量定义在函数外即可,如果要修改变量就一定要使用global声明,修改代码如下:

    bl = 'a'

    def func():

        global bl

        bl = 'abc'

        print (bl)

     

    def otherfunc():

        print (bl)

        

    otherfunc()

    func()

    otherfunc()

  6. 6

    F5运行代码,结果如下图所示,这里调用了两次otherfunc函数,第一次调用时变量bl还没有被global声明,变量值为最初的赋值,第二次在func函数将bl声明名global,并修改其变量值后,所以第二次调用打印的是修改后的值。

  7. 7

    修改代码,将文件中global类型的变量打印出来,代码如下:

    bl = 'a'

    def func():

        global bl

        bl = 'abc'

        print (bl)

     

    def otherfunc():

        print (bl)

        

    print (func.__globals__['bl'])

  8. 8

    F5运行代码,打印出global变量bl的值a,因为此时func函数还没有执行,所以变量值为a

    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论