V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
qweweretrt515
V2EX  ›  Python

python 全局变量的诡异错误,求助下

  •  
  •   qweweretrt515 · 2016-11-20 14:23:53 +08:00 · 1581 次点击
    这是一个创建于 2930 天前的主题,其中的信息可能已经有所发展或是发生改变。

    http://sharetext.cn/1753


    这是我的全部代码,我运行的时候,出现错误,按道理应该没有问题呀

    第 1 条附言  ·  2016-11-20 14:56:28 +08:00
    已解决
    第 2 条附言  ·  2016-11-20 14:56:43 +08:00
    def echo123():
    global a
    a = a+ 1
    print(a)

    def main1():
    global a
    a = 0
    echo123()

    main1()
    2 条回复    2016-11-20 14:56:18 +08:00
    DeTamble
        1
    DeTamble  
       2016-11-20 14:54:29 +08:00   ❤️ 1
    Python 中当局部变量名字和全局变量名字重复时,局部变量会覆盖掉全局变量。
    而在 echo123() 中没有定义 a ,所以会报 UnboundLocalError: local variable 'a' referenced before assignment
    所以 echo123() 也要加上 global a
    qweweretrt515
        2
    qweweretrt515  
    OP
       2016-11-20 14:56:18 +08:00
    @DeTamble 谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1168 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:50 · PVG 06:50 · LAX 14:50 · JFK 17:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.