2016-12-20 20 views
0

Я посещаю курс python в университете, где мы должны реализовать класс deque в качестве задания. Теперь у меня есть некоторые проблемы с результатом, который должен предоставить экземпляр, указанный в docstring.Проблемы с внедрением класса deque с выходом Deque <elements>

class Deque: 
""" 
>>> d = Deque() 
>>> d 
Deque<> 

>>> d = d.append(1); d 
Deque<1> 

>>> d.append(2).prepend(0) # allow for chaining of appending & prepending 
Deque<0, 1, 2> 

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

У кого-нибудь есть идея?

Заранее спасибо

ответ

2

Работают может работать, что из в __repr__ классе.

В качестве простого примера для пустого Deque Например:

>>> class Deque(object): 
...  def __repr__(self): 
...   return 'Deque<>' 
... 
>>> d = Deque() 
>>> d 
Deque<> 

Для непустого Например, вы бы просто форматировать возвращенную строку, чтобы включить содержимое экземпляра.

+1

Подкачка 'return 'Deque <>'' с 'return 'Deque <' + ',' .join (self.INNER_CONTAINER) + '>'' даст ожидаемый результат для полного Deque, будучи INNER_CONTAINER настоящим именем в вашей реализации, где вы храните данные Deque – Adirio

0

Необходимо определить метод __repr__(); вы можете вернуть строку, которая вам нужна.

 Смежные вопросы

  • Нет связанных вопросов^_^