Python 除了hasattr调用的类之外,还有其他类型吗

Python 除了hasattr调用的类之外,还有其他类型吗,python,Python,代码: class a(object): a='aaa' b=a() print hasattr(a,'a') print hasattr(b,'a') hasattr除了“某人”以外还能叫谁 谢谢 您可以使用任何对象作为第一个参数(任何字符串作为第二个参数)调用hasattr:如果该对象没有该名称的属性,它只会返回False(“拥有”属性当然包括可能继承或合成它;hasattr(x,'y'))如果且仅当访问x.y不会引发异常时才成立——这就是它内部的工作方式:它尝试getattr并捕

代码:

class a(object):
    a='aaa'
b=a()
print hasattr(a,'a')
print hasattr(b,'a')
hasattr除了“某人”以外还能叫谁


谢谢

您可以使用任何对象作为第一个参数(任何字符串作为第二个参数)调用
hasattr
:如果该对象没有该名称的属性,它只会返回False(“拥有”属性当然包括可能继承或合成它;
hasattr(x,'y'))
如果且仅当访问
x.y
不会引发异常时才成立——这就是它内部的工作方式:它尝试
getattr
并捕获异常(如果有)。

根据Python文档,必须将对象作为hasttr()函数的参数传递

hasattr(object,name):参数是一个对象和一个字符串。如果字符串是对象属性之一的名称,则结果为True,否则为False。(这是通过调用getattr(object,name)并查看它是否引发异常来实现的。)