Как проверить существование атрибута класса?
Я пытаюсь выполнить проверку наличия атрибута a в классе Test и оставить прежнее значение атрибута, если он имеется, или присвоить другое, если его нет в классе. К сожалению, где-то допускаю ошибку. Пожалуйста, подскажите, как поправить код?
class Test():
def __init__(self):
super().__init__()
self.a = 'a'
if not 'self.a' in locals():
self.a = 'b'
def func(self):
print(self.a)
Test().func()
Ответы (1 шт):
Автор решения: Exeteres
→ Ссылка
С помощью встроенной функции hasattr:
if not hasattr(self, "a"):
self.a = 'b'