如何找出对象是否具有属性?

J.O*_*sen 3 python

 if groupName.group == "None":
Run Code Online (Sandbox Code Playgroud)

错误:

AttributeError: 'NoneType' object has no attribute 'group'
Run Code Online (Sandbox Code Playgroud)

如何检查对象是否具有属性?

a p*_*erd 8

你想要的getattr(),你可以传递一个默认值,或者hasattr().


ekh*_*oro 5

错误消息告诉您它groupName本身None.

在这种情况下,测试它是否具有特定属性几乎没有意义.

所以你可能想要更像的东西:

If groupName is not None:
    print groupName.group
Run Code Online (Sandbox Code Playgroud)

或者,如果groupName对象可能没有group属性:

If groupName is not None:
    print getattr(groupName, 'group', None)
Run Code Online (Sandbox Code Playgroud)

(注意:最后一个参数getattr是一个默认值,可以是你想要的任何东西).