python global

这个问题很囧,在外面定义了一个变量 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]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,883评论 0 17
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,864评论 0 5
  • @贰拾贰画生 感谢简明Python教程 输入输出 输入:raw_input string = raw_input(...
    贰拾贰画生阅读 7,458评论 4 21
  • 人生如路 山一程 水一程 一路风雨兼程 一路披荆斩棘 前半生 不尽人意 后半生 该让心静静 生活不易 难熬的时光过...
    梦醒时分爱自己_阅读 3,567评论 39 39
  • 今天完成了内科学大纲的复习,梳理了一遍书中知识点,标记出新增的知识点,着重复习一下新增的和不熟悉的点,配合练习题,...
    付小喵阅读 1,513评论 0 0

友情链接更多精彩内容