Способ 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