我想要
class MyClass(object):
_my_unique = ???? # if this were lisp, I would have written (cons nil nil) here
def myFunc (self, arg):
assert arg != _my_unique # this must never fail
...
用什么代替
???
来确保assert
永远不会失败?(使用lisp,我可以用
_my_unique
创建(cons nil nil)
,并在eq
中使用assert
)。用例:我将把
_my_unique
放在dict
中,所以我希望它等于自身,但我不希望它等于(在dict
冲突意义上)从外部传入的任何东西。 最佳答案
您可以使用object()
,但这不会使断言“永不失败”。如果调用myFunc
并将MyClass.my_unique
作为对象传递,它仍将失败。此外,如果要测试它是否是同一个对象,请使用arg is not my_unique
而不是!=
。