我希望分配给一个变量(一个“常量”),一个允许该变量只返回并与自身进行比较True
的值。is
==
我想避免在我选择的值与其他值发生冲突的情况下分配任意值,例如 anint
或其他类型。
我正在考虑生成一个类的实例,该实例id()
在值可能支持的任何比较中使用 CPython 值的唯一性。
从这里:
If no __cmp__(), __eq__() or __ne__() operation is defined, class instances are compared by object identity (“address”).
会建议:
MY_CONSTANT = object()
如果以某种方式被垃圾收集,并且在比较期间分配了其他东西(我认为这可能永远不会发生),则只会在与MY_CONSTANT
CPython 实现的比较中返回 true 。MY_CONSTANT