gpt4 book ai didi

Python 名称未定义但计算结果为真。如何?

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:22 25 4
gpt4 key购买 nike

我有一些像这样的 python 代码:

try:
bob = bob_module.Bob('alpha')
except Exception as e:
print 'Alpha mode failed for bob: ' + str(e) + ').'

try:
if bob:
bob.add('Beta')
else:
bob = bob_module.Bob('Beta')
except Exception as e:
print 'Beta mode failed for bob: ' + str(e) + ').'

当此代码运行 Alpha 模式时失败,这是可以理解的原因(与 alpha 服务器的交互失败)。但是,测试模式因“未定义名称‘bob’”而失败。

当然,如果名称 bob 没有定义,那么 if bob 等于 false,我们进入 else 子句并运行 Bob 构造函数将结果赋值给变量 bob?

我现在无法调试它,因为导致 Alpha 模式失败的错误是暂时的,现在已经消失了,但我想了解这一点有两个原因:求知欲,以及让我的代码在 alpha 模式启动时健壮再次失败。

最佳答案

Surely if name bob is not defined then if bob equates to false

没有。如果未定义 bob,则尝试使用它是错误的。

bob = None 放在文件的顶部,以确保它在所有代码路径中都有定义。

关于Python 名称未定义但计算结果为真。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44754848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com