You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何调用turtle.done()时提示不存在'done'属性?

问题解决:AttributeError: type object 'Turtle' has no attribute 'done'

你的问题核心是变量名覆盖了模块名:你先导入了turtle模块,又创建了一个名为turtle的Turtle实例,这直接把原有的turtle模块对象给替换成了实例对象。而done()是turtle模块的顶层函数,并非Turtle实例的方法,所以在实例上调用turtle.done()必然报错。

修复方案

方案1:重命名实例变量(推荐)

把Turtle实例的变量名改成t或其他不冲突的名称,保留原模块的引用:

import turtle
from turtle import Turtle

t = Turtle()

t.forward(100)
turtle.done()  # 调用turtle模块的done()函数

方案2:仅导入模块,避免命名冲突

直接通过模块访问Turtle类,无需单独导入Turtle:

import turtle

t = turtle.Turtle()

t.forward(100)
turtle.done()

总结:done()是模块级别的方法,必须通过原turtle模块调用,不能用Turtle实例调用。

内容的提问来源于stack exchange,提问作者Cytoflux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 13:48:22