Вызвать метод класса в этом же классе python

Учу ооп в питон, столкнулся с ошибкой, которую не понимаю. Я хочу вызвать метод класса внутри него самого, но получаю ошибку NameError: name 'self' is not defined Мой код:

class Cat:
    def __init__(self,name='Alex'):
        self.name=name

    def prnt(self):
        print(self.name)
    self.prnt()
p1=Cat()

Ответы (1 шт):

Автор решения: Эникейщик

При создании экземпляра класса выполняется только __init__(), поэтому можете добавить туда необходимую инструкцию:

def __init__(self, name='Alex'):
    self.name = name
    print(self.name)

Если же хочется именно метод класса, то вызвать его в __init__():

class Cat:

    def __init__(self, name = 'Alex'):
        self.name = name
        self.prnt()

    def prnt(self):
        print(self.name)
→ Ссылка