【问题标题】:How to avoid UnboundLocalError?如何避免 UnboundLocalError?
【发布时间】:2019-06-29 15:21:19
【问题描述】:

在制作我的一个程序时,我遇到了这个错误:

UnboundLocalError: 赋值前引用了局部变量 'bool'

为了说明问题,我写了一小段代码,与我当前项目中的错误相同。

def bool():
    bool = True
def func():
    while bool:
        print("Everything's ok!")
        bool = False
bool()
func()

怎样才能让“一切都好!”不使用“bool = False”只打印一次?

【问题讨论】:

  • 你为什么把你的变量命名为和你的函数名一样?另外bool是python内置的,不要用它作为变量名,好像你不需要bool函数在全部
  • "如何在不使用 "bool = False" 的情况下只打印一次 "Everything's ok!"?" 删除 while 循环?
  • 您在两个函数之间共享一个变量。为什么不def func(): bool_ = True; while bool: ...?还是您的项目要复杂得多...

标签: python-3.x boolean


【解决方案1】:
def bool():
    global bool
    bool = True
def func():
    while bool:
        print("Everything's ok!")
        break
bool()
func()

【讨论】:

    猜你喜欢
    • 2018-05-05
    • 2010-12-07
    • 2013-02-12
    • 1970-01-01
    • 2011-05-15
    • 2014-05-30
    • 2022-01-26
    • 2014-10-15
    • 2013-07-16
    相关资源
    最近更新 更多