【发布时间】:2013-08-13 11:46:55
【问题描述】:
这可能是一个很长的尝试,但我想我还是会尝试。
有没有办法让一个班级像NoneType 一样行事?
假设我在第三方 API 中有这个对象,我无法更改但我可以对其进行修补。大多数方法可以在同一阶段返回此对象。该对象与None 相同,因为他们决定使用自己的自定义类型来表示与None 相同的含义。
我是否有可能对这种类型进行猴子修补,以便在检查时表现得像 None:
value = SpecialNoneClass()
if value is None:
print foobar
【问题讨论】:
-
你可以,但你必须为你的类实现一个
__getattr__,它返回None。 -
没关系。我能做到。
-
在几个小时前看到这个问题:stackoverflow.com/questions/18204227/…
-
不是真正的重复,考虑到该帖子替换
is而不是对象类型。
标签: python