Понимание «я» в классах за Python - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь понять решение, предоставленное для обращения к связанному списку. В частности, я не понимаю, почему для самой последней строки мы пишем:

self.head=prev

, а не

current=prev

, поскольку

current=self.head

Я знаю свой рассуждения ошибочны, поэтому я пришел сюда за помощью. Заранее спасибо.

class Node: 

    # Constructor to initialize the node object 
    def __init__(self, data): 
        self.data = data 
        self.next = None

class LinkedList: 

    # Function to initialize head 
    def __init__(self): 
        self.head = None
  def reverse(self): 
        prev = None
        current = self.head 
        while(current is not None): 
            next = current.next
            current.next = prev 
            prev = current 
            current = next
        self.head = prev 

1 Ответ

1 голос
/ 28 марта 2020

= не равенство, как в математике, это оператор присваивания / привязки.

Следовательно, после:

current=self.head
current=prev

current будет иметь значение prev и self.head не будут иметь ничего общего с current и не будут изменены.

...