2024-09-28 23:40:53 发布
网友
我问这个question关于消除对象的__dict__成员资格测试。提供了一个解决方案,但是使用if x in __dict__有点不够优雅。你知道吗
__dict__
if x in __dict__
正如我在那篇文章中提到的,我更喜欢使用hasattr,但它导致了RecursionError。你知道吗
hasattr
RecursionError
会籍考试有什么问题?你知道吗
我不完全确定我是否理解你的另一篇文章,但请注意__dict__只包含实例的属性,而不包含类的属性。e、 g
>>> class Foo(object): ... x = 1 ... >>> Foo().__dict__ {}
但是,hasattr调用会告诉您,Foo的实例确实具有x属性:
Foo
x
>>> hasattr(Foo(), 'x') True
所以,不管是什么情况,我们都可以看到这两个习语在某些非常常见的情况下有着不同的含义。你知道吗
我不完全确定我是否理解你的另一篇文章,但请注意
__dict__
只包含实例的属性,而不包含类的属性。e、 g但是,
hasattr
调用会告诉您,Foo
的实例确实具有x
属性:所以,不管是什么情况,我们都可以看到这两个习语在某些非常常见的情况下有着不同的含义。你知道吗
相关问题 更多 >
编程相关推荐