当我尝试在一个函数中将turtle赋值给turtle.turtle()时,我总是得到一个UnboundLocalError。为什么会这样?turtle.py中是否使用了该名称
import turtle
def make_turtle():
turtle = turtle.Turtle()
return turtle
eu = make_turtle()
Traceback (most recent call last):
File "/home/usr/PycharmProjects/LearningToThinkLikeAComputerScientist/c4 - Functions/test.py", line 6, in <module>
eu = make_turtle()
File "/home/luis/PycharmProjects/LearningToThinkLikeAComputerScientist/c4 - Functions/test.py", line 3, in make_turtle
turtle = turtle.Turtle()
UnboundLocalError: local variable 'turtle' referenced before assignment
在import语句中,您指定名称turtle
然后在函数中为其赋值。如果我正确理解了这一点,python解析器首先会列出指定的名称
turtle
,这使它成为本地的。然后它处理从右到左的turtle = turtle.Turtle()
行。当发现您试图检索turtle
所指向的值时,它没有被赋值,您会得到一个错误请改用另一个名称:
相关问题 更多 >
编程相关推荐