Python turtle未绑定区域设置

2024-10-03 00:28:06 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试在一个函数中将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

Tags: inpytesthomemakelinefunctionsfile
1条回答
网友
1楼 · 发布于 2024-10-03 00:28:06

在import语句中,您指定名称turtle

然后在函数中为其赋值。如果我正确理解了这一点,python解析器首先会列出指定的名称turtle,这使它成为本地的。然后它处理从右到左的turtle = turtle.Turtle()行。当发现您试图检索turtle所指向的值时,它没有被赋值,您会得到一个错误

请改用另一个名称:

import turtle

def make_turtle():  
    cat = turtle.Turtle()
    return cat  

eu = make_turtle()

相关问题 更多 >