【发布时间】:2015-05-28 12:06:40
【问题描述】:
我需要一个 Python 对象,当它与它进行比较时,它总是评估为 True。例如,如果这个对象被称为TRUE,那么:
TRUE == 10
TRUE == False
TRUE == True
TRUE == "hello"
TRUE == list()
是否有用于此的内置 Python 对象?
请注意,我要求的是内置对象。如果我要检查x == y 是否数百次,y 正在更改,x 是否被设置和取消设置,对于那些未设置的情况,我希望x == y 评估为True . (并且当设置x 时,我想要进行实际的比较操作)
我认为 python 可能为此有一个优化的内置对象。
【问题讨论】:
-
否;为什么会有?通过实现
__eq__,您可以轻松实现自己的目标。 -
只是出于好奇,你为什么要这么做?
-
如果您想要一个始终计算为
True的表达式,为什么不直接使用True? -
@JulienSprock:我正在编写一些研究代码。
TRUE对象最终将被另一个对象的另一个实例替换,因此宣传这一点的一种方法是将TRUE替换为None并检查是否x is None。但是,如果您多次执行此检查,则会失去性能。 -
我怀疑
==不是您真正应该在这里使用的谓词。
标签: python boolean boolean-expression