Присвоение формата строки Python3 приводит к ссылке до - PullRequest
0 голосов
/ 12 декабря 2018

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

Однако я вижу аналогичную проблему со строкой формата.

greeting = "hello, {}"

def printHello(name):
   greet = greeting.format(name)
   print(greet)

printHello("Erica")

У меня есть local variable 'greet' referenced before assignment.

Кто-нибудь может объяснить, почему это так?

Кроме того, эта ошибка возникает время от времени, поэтому она не является детерминированной ...

Я предполагаю, что global greeting исправитпроблема?

== отредактировано ==

Я обнаружил, что ошибка исходила из одной библиотеки, а не из моего кода, извините за путаницу

1 Ответ

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

Проблема здесь в том, что вы переопределили print и, следовательно, он идет в рекурсии.Изменение имени функции на другое, должно решить проблему

greeting = "hello, {}"

def printHello(name):
    greet = greeting.format(name)
    print(greet)
...