Pyscripter:如何使用带有未定义变量的 if 语句?

Pyscripter: How do I use if statements with an undefined variable?

这是我需要帮助的代码部分:

if done==0 or done== undefined:
    print("Good job!")

我之前做了另一个 "If" 声明,我给 "done" 一个值,但是如果没有给它一个值,(没有输入)我希望代码是 "if 'done' is 0, or 'done' is undefined" 做任何事情,例如打印 "Good job!" 如果它 'done' 0 或 undefined

我有办法做到这一点吗?非常感谢任何帮助!

我的问题已经解决了。谢谢大家的回答!

您应该使用 None 而不是 undefined。

if done == 0 or done is None:
    print(Good job!)

None 值尽可能接近 'undefined'。将 done 的初始值设置为 None 然后你可以测试:

if done == 0 or done is None

最好、最 pythonic 的方法是在一开始就将 done 初始化为显然没有意义的东西。然后你可以测试这种无意义性。 Pythonic 方式是

done = None

其中 None 是一个没有任何意义的特殊值。换句话说,即(或可以是)Python for "undefined." 完成后,您可以在某些情况下将 done 分配为零。你稍后会测试

if done == 0 or done is None:
    print("Good job!")

有关 None 的更多信息,请参阅 this page

如果您真的、真的必须完全保留 done 未定义然后对其进行测试,您可以使用异常。但是我不推荐。