Неразрешенная ссылка для импортированных идентификаторов, которые позже переписываются - PullRequest
2 голосов
/ 15 октября 2019

Когда я импортирую функцию вверху моего файла и позже использую ее в функции, в которой я переназначаю ее позже, python жалуется на Unresolved reference '_', например:

from django.utils.translation import ugettext_lazy as _

def test():
    msg = _('Message')  # <= Unresolved reference '_'

    instance, _ = Something.objects.get_or_create(...)

что происходитВот? Почему python говорит Unresolved reference при оценке функции, когда она переназначается только на следующей строке?

1 Ответ

1 голос
/ 16 октября 2019

Это все, кроме дубликата , но поскольку PyCharm генерирует другое сообщение об ошибке, это будет ответ.

Поскольку вы назначаете _ в своей функции, все использования _ в этой функции относятся к локальной переменной, а не к глобальной (импортированная функция). PyCharm распознает это и не может определить тип для него.

...