Как проверить существование атрибута класса?

Я пытаюсь выполнить проверку наличия атрибута 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'
→ Ссылка