Будет ли __init__ вызываться автоматически при каждом вызове метода? - PullRequest
1 голос
/ 03 апреля 2020
class linkedlist:
    def __init__(self,value):
        self.head={'value':value,'next':None}
        self.tail=self.head
        self.length=1
    def append(self,value):
        self.newnode={'value':value,'next':None}
        self.tail['next']=self.newnode
        self.tail=self.newnode      
        self.length+=1
if __name__=='__main__':
    l=linkedlist(10)
    l.append(5)
    l.append(16)

Код работает нормально, но я сомневаюсь, как работает __init__. Будет ли __init__ вызываться для каждого вызова функции? Это немного сбивает с толку, потому что я меняю значение хвоста и головы.

Как здесь работает основная функция?

1 Ответ

0 голосов
/ 05 апреля 2020

Основное использование функции init - для инициализации. Он вызывается, когда мы создаем объект, в то же время все значения, упомянутые в функции, будут инициализированы и ассоциированы с объектом. Лучший способ узнать, как работает функция или как весь код работает последовательно, просто попытайтесь добавить в нее функцию печати. ​​

...