Python атрибут класса не может использовать собственный объект - PullRequest
0 голосов
/ 20 июня 2020

Я новичок в python и пишу два класса для определения объекта односвязного списка. У меня проблема с моим классом _Node. Для атрибута 'next' класса _Node я хочу установить его тип как объект _Node или None, где я написал Optional [_Node]. Но среда разработки Pycharm этого не распознает. Может ли кто-нибудь помочь мне с этой проблемой? Большое спасибо.

from typing import Any, Optional

class _Node:
    """ A node in a linked list.

    Note that this is considered a "private class", one which is only meant
    to be used in this module by the LinkedList class, but not by client 
    code.

    === Attributes ===
    item:
        The data stored in this node.
    next:
        The next node in the List, or None if there are no more nodes.
    """

    item: Any
    next: Optional[_Node]

    def __init__(self, item: Any):
        """ Initialize a new node storing <item>, with no next node.
        """
        self.item = item
        self.next = None # Initailly pointing to nothing

1 Ответ

0 голосов
/ 20 июня 2020

У вас должен быть следующий импорт в верхней части файла, чтобы включить ссылки на классы, которые еще не определены

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