美文网首页
python global

python global

作者: Vincent_He | 来源:发表于2015-04-14 11:54 被阅读72次

这个问题很囧,在外面定义了一个变量 xxx ,然后在python的一个函数里面引用这个变量,并改变它的值,结果报错local variable 'xxx' referenced before assignment,代码如下:
[python] view plaincopy

xxx = 23
def PrintFileName(strFileName):
if xxx == 23:
print strFileName
xxx = 24

PrintFileName("file")

  错误的意思就是xxx这个变量在引用前还没有定义,这上面不是定义了么?但是后来我把xxx = 24这句去掉之后,又没问题了,后来想起python中有个global关键字是用来引用全局变量的,尝试了一下,果然可以了:

[python] view plaincopy

xxx = 23
def PrintFileName(strFileName):
global xxx
if xxx == 23:
print strFileName
xxx = 24

PrintFileName("file")

  原来在python的函数中和全局同名的变量,如果你有修改变量的值就会变成局部变量,在修改之前对该变量的引用自然就会出现没定义这样的错误了,如果确定要引用全局变量,并且要对它修改,必须加上global关键字。
  [End]

相关文章

  • Python中关键字global与nonlocal的区别

    python_global_nonlocal

  • python global

    这个问题很囧,在外面定义了一个变量 xxx ,然后在python的一个函数里面引用这个变量,并改变它的值,结果报错...

  • keyword --- global & nonloc

    1. global #消除python对global variable的屏蔽(shadowing)作用 1.1 如...

  • Python——global语句

    global基础介绍 Python中 global用于声明命名空间,它告诉Python函数打算生成一个或多个全局变...

  • 12_Global_and_Local_Variables

    sources :Python 3 Programming Tutorial: Global and Local ...

  • Python global变量

      偶然遇到一次“global name 'aglobalname' is not defined”问题,又重新理...

  • python global 用法

    1、global---将变量定义为全局变量。可以通过定义为全局变量,实现在函数内部改变变量值。 2、一个globa...

  • [Python] global,nonlocal

    (1)global:修改全局变量 (2)nonlocal:修改外层词法变量 (3)default:创建局部变量

  • Python的 global

    先回答为什么要有global.一个变量被多个函数引用,想让全局变量被所有函数共享和修改。有的伙伴可能会想,这还不简...

  • python global variable

    if you want to simply access a global variable you just u...

网友评论

      本文标题:python global

      本文链接:https://www.haomeiwen.com/subject/wallfttx.html