Советы по типу Python: самостоятельная проверка типов - PullRequest
0 голосов
/ 09 декабря 2018

Я решил, что статическая типизация действительно облегчит мою жизнь в Python, учитывая, что я обычно работаю в C. Я сделал такой класс:

class node(object):
    """
    properties, constructor, etc.
    """

    def add_outneighbor(self, neighbor: node) -> None:
        """
        do stuff
        """

Flake8 говорит мне, что node неизвестновведите определение add_outneighbor.В настоящее время я работаю над проблемой с isinstance(arg, type), но это, кажется, лишает цели наличия подсказок типа.Есть лучший способ сделать это? Это - ресурс, на который я ссылался, чтобы получить информацию о подсказках типов, но я не смог найти никаких обсуждений по поводу этой самоссылочной проблемы.

1 Ответ

0 голосов
/ 09 декабря 2018

Причина, по которой интерпретатор сообщает вам, что узел является неизвестным типом, заключается в том, что «узел» должен быть определен до того, как вы сможете использовать его в аннотации, если вы не используете Python 4.

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

...