Почему `queue = queue.append (item)` в функции не меняет переданную очередь на `None`? - PullRequest
0 голосов
/ 30 января 2019

Мой учебник включает в себя следующие функции в качестве простого способа создания очереди в Python с использованием списка:

def enqueue(queue, item):
     queue = queue.append(item)
     #print(queue)
def dequeue(queue):
     return queue.pop(0)
def isEmpty(queue):
     return len(queue)==0
def createQueue():
     return []

Мои вопросы касаются функции enqueue().

1) Что такоецель queue =?Поскольку list.append() ничего не возвращает, почему бы не пропустить это?

2) Когда я добавил print(queue) (показанный как закомментированная последняя строка в enqueue()) к enqueue(), он напечатал None, что имеет смысл, но почему queue = queue.append(item) не изменяет исходную очередь / список, переданный функции на None (поскольку список является изменяемым), вместо этого просто изменяя локальную переменную queue?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...