Как создать объект Python, который представляет собой простую иерархию самотипизированных дочерних элементов [дубликат]Python

Программы на Python
Ответить
Anonymous
 Как создать объект Python, который представляет собой простую иерархию самотипизированных дочерних элементов [дубликат]

Сообщение Anonymous »

Я имею в виду простой класс под названием Page. Страница имеет идентификатор и заголовок. Страница также может хранить дочерние страницы в атрибуте Children страницы.
Я думал об этом:

class Page:
def __init__(self, id: int, title: str):
self.id = id
self.title = title
self.children = list[Page]

def add_child(self, child: Page): # Python doesn't like type hint of "Page"
self.children.append(child)

2 вопроса:
  • Правильно ли я указал атрибут Children? Предполагается, что это список других страниц.
  • Как я могу предоставить правильную подсказку типа в add_child?
Хотелось бы узнать, есть ли другие предложения по такому шаблону.
РЕДАКТИРОВАТЬ:
В настоящее время add_child выдает следующую ошибку:
TypeError: descriptor 'append' for 'list' objects doesn't apply to a 'Page' object


Подробнее здесь: https://stackoverflow.com/questions/792 ... lf-typed-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»