Определите, содержит ли объект Python атрибут

Способ 1: реализовать логику с помощью захвата исключений

class OneClass:
pass

k = OneClass()
try:
    #do some thing you need
    print k.att
except AttributeError as e:
    #error: has not attribute
    pass 

Способ 2: вызвать метод hasattr

hasattr(object, name)
Описание: Определить, содержит ли объектный объект функцию с именем name (hasattr реализуется путем вызова getattr(ojbect, name), чтобы узнать, выдается ли исключение).
Объект параметра: объект.
Имя параметра: имя атрибута.

>>> hasattr(список, 'добавлять')
Истинный

>>> hasattr(список, 'добавить')
ЛОЖЬ

Способ 3: используйте метод dir

objdir = dir(k)
if 'att' in objdir:
    #do some thing you need
    print k.att
else:
    #error: has not attribute
    pass

Guess you like

Origin blog.csdn.net/weixin_46159962/article/details/128298823