класс words_Deque не работает. Я пытаюсь сделать так, чтобы класс words_Deque мог передавать слова в класс Deque.
class Deque:
def __init__(self):
self.items = []
def add_front(self, item):
self.items.insert(0, item)
def add_rear(self, item):
self.items.append(item)
def remove_front(self):
if self.items:
return self.items.pop(0)
return None
def remove_rear(self):
if self.items:
return self.items.pop()
return None
class words_Deque:
def __init__(self, words, deque):
self.words = words
self.deque = deque
def transfer(self, deque):
for word in self.words:
print(word)
deque.add_rear(word)
a = Deque()
words_Deque('mom', a)
words_Deque.transfer(a)
print(a.items)
ожидаемый результат: ['m', 'o', 'm'] фактический результат: transfer () отсутствует 1 обязательный позиционный аргумент: 'deque'





Вы вызываете свой метод передачи, поскольку это был метод класса. Однако это метод экземпляра. Следовательно, вы должны вызвать его на экземпляре. Попробуйте так:
a = Deque()
b = words_Deque('mom', a) # save your instance as b
b.transfer(a)
print(a.items)
Это дает правильный результат
m
o
m
['m', 'o', 'm']