我了解在分配之前,有大量关于引用的帖子。
但是,我看到格式字符串也有类似的问题。
greeting = "hello, {}"
def printHello(name):
greet = greeting.format(name)
print(greet)
printHello("Erica")
我有local variable 'greet' referenced before assignment
。
谁能解释为什么会这样?
此外,此错误有时会发生一次,因此它不是确定性的...
我认为global greeting
将解决此问题?
==已编辑==
我发现错误是来自库之一而不是我的代码 抱歉造成混乱
答案 0 :(得分:5)
这里的问题是您已经重新定义了print
,因此它是递归的。
将函数名称更改为其他名称应该可以解决问题
greeting = "hello, {}"
def printHello(name):
greet = greeting.format(name)
print(greet)