移动和绘制
使用语法:
turtle.forward(距离)
turtle.fd(距离)
参数说明: 距离 一个数字 (整数 或者 浮点)
(注:单位是像素)
代码示例:
import turtle
turtle.forward(200)
效果:
使用语法:
turtle. backward (距离)
turtle. back (距离)
turtle. bk (距离)
参数说明: 一个数字 (整数 或者 浮点)
(注:单位是像素)
使用说明:
海龟后退指定的距离,方向与海龟的朝向相反。不改变海龟的朝向。
代码示例:
import turtle
turtle.backward(200)
效果
使用语法:
turtle.right(角度)
turtle.rt(角度)
参数说明: 一个数值 (整型或浮点型)
(注:单位是角度)
使用说明:
海龟右转 angle 个单位。(单位默认为角度,但可通过degrees()和radians()函数改变设置。) 角度的正负由海龟模式确定
代码示例:
import turtle
turtle.right(60)
turtle.forward(200)
效果
使用语法:
turtle.left(角度)
turtle.lt(角度)
参数说明: 一个数值 (整型或浮点型)
(注:单位是角度)
使用说明:
海龟左转角度个单位。(单位默认为角度,但可通过degrees()和radians()函数改变设置。) 角度的正负由海龟模式确定
代码示例:
import turtle
turtle. left(60)
turtle.forward(200)
效果
goto () | setpos () | setposition()
使用语法:
turtle.goto(x坐标,y坐标)
turtle.setpos(x坐标,y坐标)
turtle.setposition(x坐标,y坐标)
参数说明: x坐标: 一个数值或数值对/向量
y坐标:一个数值或None
使用说明:
在turtle 绘制的区域,是一个2D平面,这个平面由坐标定位,在turtle中使用pos表示坐标,初始位置为(0,0),使用goto传入坐标将会跳转至该坐标点并且绘制;
代码示例:
import turtle
turtle.goto(200,100)
效果
使用语法:
turtle.setx(x坐标)
参数说明: x坐标。
使用说明:
设置海龟的横坐标为 x,纵坐标保持不变。
代码示例:
import turtle
turtle.setx(200)
效果
使用语法:
turtle.sety(y坐标)
参数说明: y坐标。
使用说明:
设置海龟的纵坐标为 y,横坐标保持不变。
代码示例:
import turtle
turtle.sety(200)
效果
使用语法:
turtle. setheading(角度)
turtle. seth(角度)
参数说明: 小乌龟朝向的角度。
使用说明:
设置海龟的朝向。
代码示例:
import turtle
turtle.setheading(90)
效果
使用语法:
turtle. home()
参数说明: 无。
使用说明:
将乌龟移动到原点坐标(0,0),并将其朝向设置为起始方向(右,即0度方向)。
代码示例:
import turtle
turtle.setx(100)
turtle.setheading(90)
turtle.home()
效果
使用语法:
turtle. circle(半径,角度,阶梯)
参数说明: 半径:一个数值。角度:一个数值或None。阶梯:一个整型数据或None。
使用说明:
绘制一个指定半径的圆。角度参数为一个夹角,用来决定绘制圆的一部分。如未指定角度则绘制整个圆。如果不是画完整圆周,则以当前画笔位置为一个端点绘制圆弧。如果角度为正值则朝逆时针方向绘制圆弧,否则朝顺时针方向。
圆实际是以其内切正多边形来近似表示的,其边的数量由阶梯参数指定。如果未指定边数则会自动确定。此方法也可用来绘制正多边形。
代码示例:
import turtle
turtle.circle(100,180)
效果
使用语法:
turtle. dot(直径,颜色)
参数说明: 直径:一个大于等于1的整型数据或None。颜色:一个颜色字符串或颜色数值元组。
使用说明:
绘制一个直径为“直径参数”,颜色为“颜色参数”的圆点。如果直径未指定,则直径取pensize+4 和 2*pensize 中的较大值。
代码示例:
import turtle
turtle.dot(100,'red')
效果
使用语法:
turtle. stamp()
参数说明: 无。
使用说明:
在海龟当前位置印制一个海龟形状。返回该印章的 stamp_id,印章可以通过调用 clearstamp(stamp_id) 来删除。
代码示例:
import turtle
turtle.color("blue")
turtle.stamp()
turtle.color('red')
turtle.fd(50)
效果
使用语法:
turtle. clearstamp(stampid)
参数说明: 一个整型数,必须是之前 stamp() 调用的返回值。
使用说明:
删除 stampid 指定的印章。
代码示例:
import turtle
turtle.position()
turtle.color("blue")
astamp = turtle.stamp()
turtle.fd(50)
turtle.position()
turtle.clearstamp(astamp)
turtle.position()
效果
使用语法:
turtle. clearstamps(n=None)
参数说明: 一个整型数,必须是之前 stamp() 调用的返回值。
使用说明:
删除全部或前/后 n 个海龟印章。如果 n 为 None 则删除全部印章,如果 n > 0 则删除前 n 个印章,否则如果 n < 0 则删除后 n 个印章。
代码示例:
import turtle
turtle.stamp();
turtle.fd(30)
turtle.stamp();
turtle.fd(30)
turtle.stamp();
turtle.fd(30)
turtle.stamp();
turtle.fd(30)
turtle.stamp();
turtle.fd(30)
turtle.stamp();
turtle.fd(30)
turtle.stamp();
turtle.fd(30)
turtle.stamp();
turtle.fd(30)
turtle.clearstamps(2)
turtle.clearstamps(-2)
turtle.clearstamps()
效果
使用语法:
turtle. undo()
参数说明: 无。
使用说明:
撤消 (或连续撤消) 最近的一个 (或多个) 海龟动作。可撤消的次数由撤消缓冲区的大小决定。
代码示例:
import turtle
turtle.fd(50);
turtle.lt(80)
turtle.undo()
turtle.undo()
效果
使用语法:
turtle.speed(速度)
参数说明: 一个 0..10 范围内的整型数或速度字符串。
使用说明:
设置海龟移动的速度为 0..10 表示的整型数值。如未指定参数则返回当前速度。
如果输入数值大于 10 或小于 0.5 则速度设为 0。速度字符串与速度值的对应关系如下:
"fastest": 0 最快
"fast": 10 快
"normal": 6 正常
"slow": 3 慢
"slowest": 1 最慢
速度值从 1 到 10,画线和海龟转向的动画效果逐级加快。
代码示例:
import turtle
turtle.speed(0)
turtle.left(30)
turtle.forward(100)
turtle.speed(1)
turtle.left(30)
turtle.forward(100)
效果
获取海龟的状态
使用语法:
turtle.position()
turtle.pos()
参数说明: 无。
使用说明:
返回海龟当前的坐标 (x,y)
代码示例:
import turtle
turtle.pos()
效果
使用语法:
turtle.towards(x,y=None)
参数说明: x坐标:一个数值或一个海龟实例。y坐标:一个数值
使用说明:
返回从海龟位置到由 x、y 指定的位置的线与海龟的起始方向之间的角度。
代码示例:
import turtle
ang=turtle.towards(100,0)
print(ang)
ang=turtle.towards(0,100)
print(ang)
ang=turtle.towards(-100,0)
print(ang)
ang=turtle.towards(0,-100)
print(ang)
效果
无
使用语法:
turtle.xcor()
参数说明: 无。
使用说明:
返回海龟的x坐标。
代码示例:
import turtle
turtle.goto(100,100)
print(turtle.xcor())
效果
无
使用语法:
turtle.ycor()
参数说明: 无。
使用说明:
返回海龟的y坐标。
代码示例:
import turtle
turtle.goto(100,100)
print(turtle.ycor())
效果
无
使用语法:
turtle.heading()
参数说明: 无。
使用说明:
返回海龟当前的朝向。
代码示例:
import turtle
turtle.home()
turtle.left(67)
print(turtle.heading())
效果
无
使用语法:
turtle.distance(x,y=None)
参数说明: x:一个数值或数值对,或一个海龟实例。y:如果参数x为数值,y为一个数值,否则为None。
使用说明:
返回海龟位置到坐标的距离,或另一个海龟位置的距离。
代码示例:
import turtle
turtle.home()
print(turtle.distance(100,0))
joe = turtle.Turtle()
joe.forward(200)
print(turtle.distance(joe))
效果
无
设置与度量单位
degrees()
使用语法:
turtle.degrees(fullcircle=360.0)
参数说明: fullcircle:数值。
使用说明:
设置角度的度量单位,即设置一个圆周为多少 "度"。默认值为 360 度。
代码示例:
import turtle
turtle.home()
turtle.left(90)
print(turtle.heading())
turtle.degrees(400.0)
print(turtle.heading())
turtle.degrees(360)
print(turtle.heading())
效果
无
radians()
使用语法:
turtle. radians()
参数说明: 无。
使用说明:
设置角度的度量单位为弧度。其值等于 degrees(2*math.pi)。
代码示例:
import turtle
turtle.home()
turtle.left(90)
turtle.heading()
turtle.radians()
turtle.heading()
效果
无
绘图状态
使用语法:
turtle.pendown()
turtle.pd()
turtle.down()
参数说明:无。
使用说明:
落笔,移动时画线。
代码示例:
import turtle
turtle.pendown()
效果
无
使用语法:
turtle.penup()
turtle.pu()
turtle.up()
参数说明:无。
使用说明:
抬笔,移动时不画线。
代码示例:
import turtle
turtle.penup()
效果
无
使用语法:
turtle.pensize(width=None)
turtle.width(width=None)
参数说明:width:画笔粗细。
使用说明:
设置画笔粗细。
代码示例:
import turtle
turtle.pensize()
turtle.goto(100,100)
turtle.pensize(10)
turtle.goto(200,200)
效果
无
pen()
使用语法:
turtle.pen(pen=None,**pendict)
参数说明:pen: 一个包含部分或全部下列键的字典。pendict: 一个或多个以下列键为关键字的关键字参数。
"shown": True/False
"pendown": True/False
"pencolor": 颜色字符串或颜色元组
"fillcolor": 颜色字符串或颜色元组
"pensize": 正数值
"speed": 0..10 范围内的数值
"resizemode": "auto" 或 "user" 或 "noresize"
"stretchfactor": (正数值, 正数值)
"outline": 正数值
"tilt": 数值
使用说明:
用来返回或设置笔的属性。
代码示例:
import turtle
turtle.pen(fillcolor="black", pencolor="red", pensize=10)
print(sorted(turtle.pen().items()))
效果
使用语法:
turtle. isdown()
参数说明:无。
使用说明:
如果画笔落下返回 True,如果画笔抬起返回 False。
代码示例:
import turtle
turtle.penup()
print(turtle.isdown())
turtle.pendown()
print(turtle.isdown())
效果
无
颜色控制
使用语法:
turtle. pencolor(*args)
参数说明:见使用说明。
使用说明:
pencolor可传参与不传参:
pencolor():不传参返回当前颜色的设置
pencolor(colorstring):可以传入字符串设置颜色值
pencolor((r, g, b)):传入一个元组值进行设置
pencolor(r, g, b):直接赋予r、g、b值
代码示例:
import turtle
print(turtle.colormode(255))
turtle.pencolor('red')
#tup=(100,152,256)
#turtle.pencolor(tup)
turtle.pencolor(100,152,255)
print(turtle.pencolor())
效果
fillcolor()
使用语法:
turtle. fillcolor(*args)
参数说明:见使用说明。
使用说明:
fillcolor可传参与不传参:
fillcolor():不传参返回当前颜色的设置
fillcolor(colorstring):可以传入字符串设置颜色值
fillcolor((r, g, b)):传入一个元组值进行设置
fillcolor(r, g, b):直接赋予r、g、b值
代码示例:
import turtle
print(turtle.colormode(255))
turtle.fillcolor('red')
#tup=(100,152,256)
#turtle.pencolor(tup)
turtle.fillcolor(100,152,255)
print(turtle.fillcolor())
效果
使用语法:
turtle. color(*args)
参数说明:见使用说明。
使用说明:
color可传参与不传参:
color():不传参返回当前颜色的设置
color(colorstring):可以传入字符串设置颜色值
color(colorstring), color((r,g,b)):传入2个rgb值一个设置turtle颜色一个设置绘制线条颜色
color(colorstring1, colorstring2):传入2个字符串值一个设置turtle颜色一个设置绘制线条颜色
代码示例:
import turtle
turtle.colormode(255)
print(turtle.color())
turtle.color('red','black')
print(turtle.color())
turtle.color('#285078','#a0c8f0')
print(turtle.color())
turtle.color((100,100,100))
print(turtle.color())
turtle.color(200,200,200)
print(turtle.color())
效果
填充
使用语法:
turtle.filling()
参数说明:无。
使用说明:
返回填充状态 (填充为 True,否则为 False)。
代码示例:
import turtle
print(turtle.filling())
效果
无
使用语法:
turtle. begin_fill()
参数说明:无。
使用说明:
开始填充颜色。
代码示例:
import turtle
turtle.begin_fill()
效果
无
使用语法:
turtle. end_fill()
参数说明:无。
使用说明:
结束填充颜色。
代码示例:
import turtle
turtle.color("black", "red")
turtle.begin_fill()
turtle.circle(100)
turtle.end_fill()
效果
更多绘图控制
使用语法:
turtle. reset()
turtle. resetscreen()
参数说明:无。
使用说明:
从屏幕中删除海龟的绘图,海龟回到原点并设置所有变量为默认值。
代码示例:
import turtle
turtle.goto(0,-22)
turtle.left(100)
turtle.position()
turtle.heading()
turtle.reset()
turtle.position()
turtle.heading()
效果
使用语法:
turtle. clear()
turtle. clearscreen()
参数说明:无。
使用说明:
清除屏幕绘制线条。并不影响turtle位置。
代码示例:
import turtle
turtle.circle(100,180)
turtle.clear()
效果
使用语法:
turtle.screensize(canvwidth=None, canvheight=None, bg=None)
参数说明:
canvwidth:正整型数,以像素表示画布的新宽度值
canvheight:正整型数,以像素表示画面的新高度值
bg:颜色字符串或颜色元组,新的背景颜色。
使用说明:
如未指定任何参数,则返回当前的 (canvaswidth, canvasheight)。否则改变作为海龟绘图场所的画布大小。不改变绘图窗口。要观察画布的隐藏区域,可以使用滚动条。通过此方法可以令之前绘制于画布之外的图形变为可见。
代码示例:
import turtle
turtle.screensize(2000,1500)
效果
无
使用语法:
turtle. write()
参数说明: arg:要输出的文本
move:True/False
align:字符串 "left", "center" 或 "right"
font: 一个三元组 (fontname, fontsize, fonttype)
使用说明:
文本输出。
代码示例:
import turtle
turtle.goto(0,0)
turtle.write("python编程课", False, align="left", font=("Arial", 8, "normal"))
turtle.goto(0,100)
turtle.write("python编程课", True, align="center", font=("楷体", 8, "normal"))
turtle.goto(0,200)
turtle.write("python编程课", False, align="right", font=("隶书", 8, "normal"))
效果
可见性
使用语法:
turtle. hideturtle()
turtle.ht()
参数说明:无。
使用说明:
隐藏海龟
代码示例:
import turtle
turtle.goto(0,0)
turtle.hideturtle()
效果
showturtle() | st()
使用语法:
turtle. showturtle()
turtle.st()
参数说明:无。
使用说明:
显示海龟
代码示例:
import turtle
turtle.hideturtle()
turtle.showturtle()
效果
使用语法:
turtle. isvisible()
参数说明:无。
使用说明:
如果海龟显示返回 True,如果海龟隐藏返回 False。
代码示例:
import turtle
turtle. isvisible()
效果
无
可见性
使用语法:
turtle. shape(name=None)
参数说明: name:有效的形状名称。
使用说明:
shape设置为具有给定名称的形状,如果未指定名称,则返回当前形状的名称。名称为的形状必须存在于TurtleScreen的形状字典中。默认有以下多边形形状:"arrow", "turtle", "circle", "square", "triangle", "classic"。设置成什么turtle就会变成什么形状。
代码示例:
import turtle
print(turtle.shape())
turtle.shape('turtle')
效果
使用语法:
turtle.resizemode(rmode=None)
参数说明: rmode:字符串 "auto", "user", "noresize" 其中之一
使用说明:
设置大小调整模式为以下值之一: "auto", "user", "noresize"。如未指定 rmode 则返回当前的大小调整模式。不同的大小调整模式的效果如下:
"auto": 根据画笔粗细值调整海龟的外观。
"user": 根据拉伸因子和轮廓宽度 (outline) 值调整海龟的外观,两者是由 shapesize() 设置的。
"noresize": 不调整海龟的外观大小。
代码示例:
import turtle
turtle.width(100)
#turtle.resizemode("user")
turtle.resizemode("auto")
#turtle.resizemode("noresize")
效果
使用语法:
turtle.shapesize(stretch_wid=None, stretch_len=None, outline=None)
turtle.turtlesize(stretch_wid=None, stretch_len=None, outline=None)
参数说明: stretch_wid:正数值。stretch_len:正数值。outline:正数值。
使用说明:
返回或设置画笔的属性 x/y-拉伸因子和/或轮廓。设置大小调整模式为 "user"。当且仅当大小调整模式设为 "user" 时海龟会基于其拉伸因子调整外观: stretch_wid 为垂直于其朝向的宽度拉伸因子,stretch_len 为平等于其朝向的长度拉伸因子,决定形状轮廓线的粗细。
代码示例:
import turtle
import time
turtle.resizemode("user")
turtle.shapesize(5, 5, 5)
time.sleep(2)
turtle.shapesize(10, 5, 5)
time.sleep(2)
turtle.shapesize(5, 5, 5)
time.sleep(2)
turtle.shapesize(5, 10, 5)
time.sleep(2)
turtle.shapesize(5, 5, 5)
time.sleep(2)
turtle.shapesize(5, 5, 10)
time.sleep(2)
效果
无
shearfactor()
使用语法:
turtle.shearfactor(shear=None)
参数说明: shear:数值 (可选)。
使用说明:
设置或返回当前的剪切因子。根据 share 指定的剪切因子即剪切角度的切线来剪切海龟形状。不 改变海龟的朝向 (移动方向)。如未指定 shear 参数: 返回当前的剪切因子即剪切角度的切线,与海龟朝向平行的线条将被剪切。
代码示例:
import turtle
import time
turtle.shape("circle")
turtle.shapesize(5,2)
time.sleep(1)
turtle.shearfactor(0.5)
time.sleep(1)
turtle.shearfactor(3)
效果
使用语法:
turtle.tilt(angle)
参数说明: angle:一个数值
使用说明:
海龟形状自其当前的倾角转动 angle 指定的角度,但不改变海龟的朝向 (移动方向)。
代码示例:
import turtle
import time
turtle.tilt(0)
time.sleep(1)
turtle.fd(100)
time.sleep(1)
turtle.tilt(90)
turtle.fd(100)
效果
settiltangle()
使用语法:
turtle.settiltangle(angle)
参数说明: angle:一个数值
使用说明:
旋转海龟形状使其指向angle指定的方向,忽略其当前的倾角,不改变海龟的朝向 (移动方向)。
代码示例:
import turtle
import time
turtle.tilt(0)
time.sleep(1)
turtle.fd(30)
time.sleep(1)
turtle.tilt(90)
turtle.fd(30)
time.sleep(1)
turtle.settiltangle(45)
time.sleep(1)
turtle.fd(30)
time.sleep(1)
turtle.settiltangle(90)
turtle.fd(30)
效果
无
tiltangle()
使用语法:
turtle.tiltangle(angle=None)
参数说明: angle:一个数值
使用说明:
设置或返回当前的倾角。如果指定 angle 则旋转海龟形状使其指向 angle 指定的方向,忽略其当前的倾角。不 改变海龟的朝向 (移动方向)。如果未指定 angle: 返回当前的倾角,即海龟形状的方向和海龟朝向 (移动方向) 之间的夹角。
代码示例:
import turtle
turtle.tilt(45)
turtle.tiltangle(90)
print(turtle.tiltangle())
效果
无
事件
onclick()
使用语法:
turtle.onclick(fun, btn=1, add=None)
参数说明:
fun : 一个函数,调用时将传入两个参数表示在画布上点击的坐标。
btn : 鼠标按钮编号,默认值为 1 (鼠标左键)。
add :True 或 False如为True 则将添加一个新绑定,否则将取代先前的绑定
使用说明:
鼠标单单击事件。
代码示例:
import turtle
def fxn(x, y):
turtle.goto(x, y)
turtle.write(str(x)+","+str(y))
def fxn2(x, y):
turtle.goto(-x, -y)
turtle.write(str(x)+","+str(y))
turtle.Screen().onclick(fxn,1)
turtle.Screen().onclick(fxn2,1,True)
效果
onrelease()
使用语法:
turtle. onrelease(fun, btn=1, add=None)
参数说明:
fun : 一个函数,调用时将传入两个参数表示在画布上点击的坐标。
btn : 鼠标按钮编号,默认值为 1 (鼠标左键)。
add :True 或 False如为True 则将添加一个新绑定,否则将取代先前的绑定
使用说明:
鼠标释放事件。
代码示例:
import turtle
def fxn1(x,y):
turtle.fillcolor("blue")
def fxn2(x,y):
turtle.fillcolor("white")
sc=turtle.Screen()
sc.setup(400,300)
turtle.shape("turtle")
turtle.turtlesize(2)
turtle.speed(1)
turtle.onclick(fxn1)
turtle.onrelease(fxn2)
效果
无
ondrag()
使用语法:
turtle. ondrag(fun, btn=1, add=None)
参数说明:
fun : 一个函数,调用时将传入两个参数表示在画布上点击的坐标。
btn : 鼠标按钮编号,默认值为 1 (鼠标左键)。
add :True 或 False如为True 则将添加一个新绑定,否则将取代先前的绑定
使用说明:
鼠标拖动事件。
代码示例:
import turtle
def fxn(x, y):
turtle.ondrag(None)
turtle.setheading(turtle.towards(x, y))
turtle.goto(x, y)
turtle.ondrag(fxn)
turtle.speed(10)
sc = turtle.Screen()
sc.setup(400, 300)
turtle.ondrag(fxn)
sc.mainloop()
效果
无
事件特殊海龟方法
begin_poly() | end_poly() | get_poly()
使用语法:
turtle.begin_poly()
turtle.end_poly()
turtle.get_poly()
参数说明: 无
使用说明:
turtle.begin_poly()
开始记录多边形的顶点。当前海龟位置为多边形的第一个顶点。
turtle.end_poly()
停止记录多边形的顶点。当前海龟位置为多边形的最后一个顶点。它将连线到第一个顶点。
turtle.get_poly()
返回最新记录的多边形。
代码示例:
import turtle
turtle.home()
turtle.begin_poly()
turtle.fd(100)
turtle.left(90)
turtle.fd(30)
turtle.left(90)
turtle.fd(50)
turtle.end_poly()
p = turtle.get_poly()
print(p)
效果
使用语法:
turtle.clone()
参数说明: 无
使用说明:
克隆
代码示例:
import turtle
mick = turtle.Turtle()
joe = mick.clone()
mick.goto(111,0)
joe.goto(0,111)
效果
使用语法:
turtle. getturtle()
turtle. getpen()
参数说明: 无
使用说明:
返回当前turtle的实例
代码示例:
import turtle
import time
pet = turtle.getturtle()
pet.fd(50)
time.sleep(1)
turtle.fd(-50)
效果
getscreen()
使用语法:
turtle. getscreen()
参数说明: 无
使用说明:
返回作为海龟绘图场所的 TurtleScreen 类对象。该对象将可调用 TurtleScreen 方法。
代码示例:
import turtle
sc=turtle.getscreen()
print(sc)
效果
无
使用语法:
turtle. setundobuffer(size)
参数说明: size:大小。
使用说明:
设置缓冲区大小。使用undo撤销缓冲区turtle的动作数,如果size为None则禁用撤销。
代码示例:
import turtle
turtle.setundobuffer(6)
效果
无
使用语法:
turtle. undobufferentries()
参数说明: 无。
使用说明:
输出缓冲区中的动作数
代码示例:
import turtle
turtle.fd(10)
turtle.left(20)
turtle.fd(30)
turtle.fd(-5)
print(turtle.undobufferentries())
效果
无
窗口控制
使用语法:
turtle.bgcolor(*args)
参数说明: args:一个颜色字符串或三个取值范围 0..colormode 内的数值或一个取值范围相同的数值3元组
使用说明:
设置或返回 TurtleScreen 的背景颜色。
代码示例:
import turtle
turtle.bgcolor("red")
效果
使用语法:
turtle.bgpic(picname=None)
参数说明:
picname:不传则返回背景图片文件名,传入参数则设置背景图片,可传入文件名或路径。传入。picname 为 "nopic",则删除当前背景图片。
使用说明:
设置背景图片
代码示例:
import turtle
turtle.bgpic("logo.png")
效果
clearscreen()
使用语法:
turtle. clearscreen()
参数说明: 无
使用说明:
从中删除所有海龟的全部绘图。将已清空的 TurtleScreen 重置为初始状态: 白色背景,无背景片,无事件绑定并启用追踪。
代码示例:
import turtle
import time
turtle.bgpic("logo.png")
turtle.fd(20)
turtle.left(20)
time.sleep(1)
turtle.clearscreen()
效果
setworldcoordinates()
使用语法:
turtle.setworldcoordinates(llx, lly, urx, ury)
参数说明:
llx:一个数值, 画布左下角的 x-坐标
lly:一个数值, 画布左下角的 y-坐标
urx:一个数值, 画面右上角的 x-坐标
ury:一个数值, 画布右上角的 y-坐标
使用说明:
自定义坐标系
代码示例:
import turtle
turtle.setworldcoordinates(-10,-10,10,10)
turtle.fd(10)
效果
动画控制
delay()
使用语法:
turtle.delay(delay=None)
参数说明: delay:正整型数
使用说明:
设置或返回以毫秒数表示的延迟值 delay。(这约等于连续两次画布刷新的间隔时间。) 绘图延迟越长,动画速度越慢。
代码示例:
import turtle
turtle.delay(100)
turtle.fd(200)
效果
无
tracer()
使用语法:
turtle.tracer(n=None, delay=None)
参数说明:n:非负整型数。delay:非负整型数
使用说明:
启用/禁用海龟动画并设置刷新图形的延迟时间。如果指定 n 值,则只有每第 n 次屏幕刷新会实际执行。(可被用来加速复杂图形的绘制。) 如果调用时不带参数,则返回当前保存的 n 值。第二个参数设置延迟值 (参见 delay())。
代码示例:
import turtle
turtle.tracer(1, 10)
dist = 2
v=5
for i in range(30):
turtle.fd(dist)
turtle.rt(90)
dist += v
turtle.pen(pencolor='red')
turtle.tracer(1, 10)
for i in range(30):
turtle.fd(dist)
turtle.rt(90)
dist += v
turtle.pen(pencolor='blue')
turtle.tracer(1, 10)
for i in range(30):
turtle.fd(dist)
turtle.rt(90)
dist += v
效果
无
update()
使用语法:
turtle.update()
参数说明:无。
使用说明:
执行一次 TurtleScreen 刷新。在禁用追踪时使用。
代码示例:
import turtle
turtle.tracer(False)
dist = 2
v=5
for i in range(30):
turtle.fd(dist)
turtle.rt(90)
dist += v
turtle.update()
效果
无
使用屏幕事件
listen()
使用语法:
turtle.listen(xdummy=None, ydummy=None)
参数说明: 无。
使用说明:
设置焦点到 TurtleScreen (以便接收按键事件)。使用两个 Dummy 参数以便能够传递 listen() 给 onclick 方法。
代码示例:
import turtle
def f():
turtle.fd(50)
turtle.lt(60)
turtle.listen()
turtle.onkey(f, "Up")
效果
无
onkey()
使用语法:
turtle.onkey(fun, key)
参数说明: fun:一个无参数的函数或 None。
key:一个字符串: 键 (例如 "a") 或键标 (例如 "space")。
使用说明:
绑定 fun 指定的函数到按键事件。如果 fun 值为 None,则移除事件绑定。注: 为了能够注册按键事件,TurtleScreen 必须得到焦点。(参见 method listen() 方法。)
代码示例:
import turtle
def f():
turtle.fd(50)
turtle.lt(60)
turtle.listen()
turtle.onkey(f, "Up")
效果
无
onkeyrelease()
使用语法:
turtle.onkeyrelease(fun, key)
参数说明: fun:一个无参数的函数或 None。
key:一个字符串: 键 (例如 "a") 或键标 (例如 "space")。
使用说明:
绑定 fun 指定的函数到按键释放事件。如果 fun 值为 None,则移除事件绑定。注: 为了能够注册按键事件,TurtleScreen 必须得到焦点。(参见 method listen() 方法。)
代码示例:
import turtle
def f():
turtle.fd(50)
turtle.lt(60)
turtle.listen()
turtle.onkeyrelease(f, "Up")
效果
无
onkeypress()
使用语法:
turtle. onkeypress(fun, key)
参数说明: fun:一个无参数的函数或 None。
key:一个字符串: 键 (例如 "a") 或键标 (例如 "space")。
使用说明:
绑定 fun 指定的函数到指定键的按下事件。如未指定键则绑定到任意键的按下事件。注: 为了能够注册按键事件,必须得到焦点。(参见 listen() 方法。)
代码示例:
import turtle
def f():
turtle.fd(50)
turtle.lt(60)
turtle.listen()
turtle.onkeypress(f, "Up")
效果
无
onclick() | onscreenclick()
使用语法:
turtle.onclick(fun, btn=1, add=None)
turtle.onscreenclick(fun, btn=1, add=None)
参数说明: fun :一个函数,调用时将传入两个参数表示在画布上点击的坐标。
btn: 鼠标按钮编号,默认值为 1 (鼠标左键)
add:True 或 False -- 如为 True 则将添加一个新绑定,否则将取代先前的绑定
使用说明:
绑定 fun 指定的函数到鼠标点击屏幕事件。如果 fun 值为 None,则移除现有的绑定。
代码示例:
import turtle
def fxn(x, y):
turtle.goto(x, y)
turtle.write(str(x)+","+str(y))
def fxn2(x, y):
turtle.goto(-x, -y)
turtle.write(str(x)+","+str(y))
turtle.Screen().onscreenclick(fxn,1)
turtle.Screen().onscreenclick(fxn2,1,True)
效果
无
ontimer()
使用语法:
turtle.ontimer(fun, t=0)
turtle.onscreenclick(fun, btn=1, add=None)
参数说明:
fun:一个无参数的函数
t:一个数值 >= 0
使用说明:
安装一个计时器,在 t 毫秒后调用 fun 函数。
代码示例:
import turtle
def f():
turtle.fd(200)
turtle.left(110)
turtle.ontimer(f,3000)
效果
无
使用语法:
turtle.mainloop()
turtle.done()
参数说明: 无
使用说明:
开始事件循环 - 调用 Tkinter 的 mainloop 函数。必须作为一个海龟绘图程序的结束语句。如果一个脚本是在以 -n 模式 (无子进程) 启动的 IDLE 中运行时 不可 使用 - 用于实现海龟绘图的交互功能。
代码示例:
import turtle
turtle.goto(200,0)
turtle.mainloop()
效果
无
使用屏幕事件
使用语法:
turtle.textinput(title, prompt)
参数说明:
title:字符串
prompt:字符串。
使用说明:
弹出一个对话框窗口用来输入一个字符串。形参 title 为对话框窗口的标题,prompt 为一条文本,通常用来提示要输入什么信息。返回输入的字符串。如果对话框被取消则返回 None。:
代码示例:
import turtle
print(turtle.textinput("建伟的少儿编程课", "Scratch入门到精通"))
效果
使用屏幕事件
使用语法:
turtle.numinput(title, prompt, default=None, minval=None, maxval=None)
参数说明:
title:字符串
prompt:字符串
default:数值 (可选)
minval:数值 (可选)
maxval:数值 (可选)
使用说明:
弹出一个对话框窗口用来输入一个数值。title 为对话框窗口的标题,prompt 为一条文本,通常用来描述要输入的数值信息。default: 默认值, minval: 可输入的最小值, maxval: 可输入的最大值。输入数值的必须在指定的 minval .. maxval 范围之内,否则将给出一条提示,对话框保持打开等待修改。返回输入的数值。如果对话框被取消则返回 None。:
代码示例:
import turtle
turtle.numinput("这是标题", "这是问题:", 1000, minval=10, maxval=10000)
效果
设置与特殊方法
mode()
使用语法:
turtle.mode(mode=None)
参数说明:
mode:字符串 "standard", "logo" 或 "world" 其中之一
使用说明:
设置海龟模式 ("standard", "logo" 或 "world") 并执行重置。如未指定模式则返回当前的模式。
"standard" 模式与旧的 turtle 兼容。"logo" 模式与大部分 Logo 海龟绘图兼容。"world" 模式使用用户自定义的 "世界坐标系"。注意: 在此模式下,如果 x/y 单位比率不等于 1 则角度会显得扭曲。
模式 | 初始海龟朝向 | 正数角度 |
standard | 朝右(东) | 逆时针 |
logo | 朝北(上) | 顺时针 |
代码示例:
import turtle
import time
turtle.forward(100)
turtle.mode(mode='logo')
turtle.forward(100)
turtle.mode(mode='world')
turtle.forward(100)
turtle.setworldcoordinates(-500,-500,500,500)
效果
无
使用语法:
turtle.colormode(cmode=None)
参数说明:
cmode:数值 1.0 或 255
使用说明:
返回颜色模式或将其设为 1.0 或 255。构成颜色三元组的 r, g, b 数值必须在 0..cmode 范围之内。
代码示例:
import turtle
turtle.colormode(1)
turtle.pencolor(0.5, 0.5, 0.5)
turtle.goto(100,0)
turtle.colormode()
turtle.colormode(255)
turtle.colormode()
turtle.pencolor(240,160,80)
turtle.goto(100,100)
效果
getcanvas()
使用语法:
turtle.getcanvas()
参数说明: 无。
使用说明:
返回此 TurtleScreen 的 Canvas 对象。供了解 Tkinter 的 Canvas 对象内部机理的人士使用。
代码示例:
import turtle
print(turtle.getcanvas())
效果
无
使用语法:
turtle. getshapes()
参数说明: 无。
使用说明:
返回所有当前可用海龟形状的列表。
代码示例:
import turtle
print(turtle.getshapes())
效果
无
register_shape() | turtle.addshape()
使用语法:
turtle.register_shape(name, shape=None)
turtle.addshape(name, shape=None)
参数说明: 无。
使用说明:
将一个海龟形状加入 TurtleScreen 的形状列表。只有这样注册过的形状才能通过执行 shape(shapename) 命令来使用
代码示例:
import turtle
turtle.begin_poly()
turtle.seth(-45)
turtle.circle(20, 90)
turtle.circle(10, 90)
turtle.circle(20, 90)
turtle.circle(10, 90)
turtle.end_poly()
pairs = turtle.get_poly()
turtle.register_shape("new_shape", pairs)
turtle.clearscreen()
turtle.shape("new_shape")
turtle.fillcolor("blue")
for i in range(50):
turtle.forward(5+2*i)
turtle.right(45)
效果
无
turtles()
使用语法:
turtle.turtles()
参数说明: 无。
使用说明:
返回屏幕上的海龟列表。
代码示例:
import turtle
turtle.begin_poly()
turtle.seth(-45)
turtle.circle(20, 90)
turtle.circle(10, 90)
turtle.circle(20, 90)
turtle.circle(10, 90)
turtle.end_poly()
pairs = turtle.get_poly()
turtle.register_shape("new_shape", pairs)
turtle.clearscreen()
turtle.shape("new_shape")
turtle.fillcolor("blue")
for i in range(50):
turtle.forward(5+2*i)
turtle.right(45)
print(turtle.turtles())
效果
无
window_height()
使用语法:
screen.window_height()
参数说明: 无。
使用说明:
返回海龟窗口的高度。
代码示例:
import turtle
print(turtle.window_height())
print(turtle.window_width())
效果
无
window_width()
使用语法:
screen. window_width()
参数说明: 无。
使用说明:
返回海龟窗口的宽度。
代码示例:
import turtle
print(turtle.window_height())
print(turtle.window_width())
效果
无
使用语法:
turtle.bye()
参数说明: 无。
使用说明:
关闭海龟绘图窗口。
代码示例:
import turtle
turtle.bye()
效果
无
exitonclick()
使用语法:
turtle.exitonclick()
参数说明: 无。
使用说明:
将 bye() 方法绑定到 Screen 上的鼠标点击事件。
代码示例:
import turtle
for i in range(3):
turtle.circle(40)
turtle.right(120)
turtle.exitonclick()
效果
无
setup()
使用语法:
turtle.setup(width=_CFG["width"],height=_CFG["height"], startx=_CFG["leftright"], starty=_CFG["topbottom"])
参数说明:
width:如为一个整型数值,表示大小为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 50%
height:如为一个整型数值,表示高度为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 75%
startx:如为正值,表示初始位置距离屏幕左边缘多少像素,负值表示距离右边缘,None 表示窗口水平居中
starty:如为正值,表示初始位置距离屏幕上边缘多少像素,负值表示距离下边缘,None 表示窗口垂直居中。
使用说明:
设置主窗口的大小和位置。默认参数值保存在配置字典中,可通过 turtle.cfg 文件进行修改。
代码示例:
import turtle
turtle.setup (width=200, height=200, startx=600, starty=400)
效果
无
使用语法:
turtle.title(titlestring)
参数说明:
titlestring:一个字符串,显示为海龟绘图窗口的标题栏文本
使用说明:
设置海龟窗口标题为 titlestring 指定的文本。