Python turtle库:入门与画笔命令详解

版权申诉
10 下载量 38 浏览量 更新于2024-09-11 2 收藏 354KB PDF 举报
"Python 标准库turtle是一个用于图形绘制的基础工具,适合初学者使用。它提供了一系列简单易懂的命令,让用户能够方便地在屏幕上绘制图形。turtle库包括对画布的设置以及对画笔的各种操作。" 在Python中,turtle库允许开发者创建动态的图形和动画,无需复杂的编程技巧。库中的命令主要分为两大类:画笔运动命令和画笔控制命令。 1. 画笔运动命令: - `turtle.forward(x)` 或 `turtle.fd(x)`:这个命令使画笔按照当前的方向移动`x`像素的距离,用于直线绘制。 - `turtle.backward(x)` 或 `turtle.bk(x)` 或 `turtle.back(x)`:与`forward`相反,它会使画笔向当前方向的反向移动`x`像素。 - `turtle.right(deg)` 或 `turtle.rt(deg)`:画笔的方向会向右转`deg`度,顺时针旋转。 - `turtle.left(deg)` 或 `turtle.lt(deg)`:画笔的方向会向左转`deg`度,逆时针旋转。 - `turtle.pendown()` 或 `turtle.pd()` 或 `turtle.down()`:落下画笔,使得在移动过程中绘制图形。 - `turtle.goto(x, y)`:将画笔直接移动到坐标`(x, y)`的位置,沿途绘制图形。 - `turtle.penup()` 或 `turtle.pu()` 或 `turtle.up()`:提起画笔,移动时不绘制。 - `turtle.setx(m)` 和 `turtle.sety(n)`:分别将画笔的x轴和y轴坐标设置为`m`和`n`,画笔落下时沿途绘制。 - `turtle.setheading(angle)` 或 `turtle.seth(angle)`:设置画笔的朝向为`angle`角度。 - `turtle.home()`:将画笔移动回原点(0,0),朝向东方,并沿途绘制。 2. 画笔控制命令和画笔属性: - `turtle.fillcolor('color')`:设置填充颜色,用于填充图形内部。 - `turtle.color(color1, color2)`:同时设置画笔颜色`pencolor=color1`和填充颜色`fillcolor=color2`。 - `turtle.begin_fill()` 和 `turtle.end_fill()`:这两个命令用于定义一个区域并进行填充,`begin_fill()`开始记录路径,`end_fill()`则填充该路径内的区域。 - `turtle.pensize(size)`:设置画笔的宽度为`size`像素。 - `turtle.speed(speed)`:调整画笔的绘制速度,速度值可以是0到10之间的整数,数值越小速度越快。 - `turtle.penstate()`:返回当前画笔状态,是否抬起或落下。 - `turtle.isdown()`:检查画笔是否落下,如果落下则返回`True`,否则返回`False`。 - `turtle.hideturtle()` 和 `turtle.showturtle()`:隐藏或显示turtle对象本身。 - `turtle.shape(shape_name)`:设置turtle的形状,可以是预定义的形状,如"turtle"或"arrow",也可以是自定义的图像。 通过这些命令,开发者可以轻松创建各种复杂的图形,例如正多边形、螺旋线、甚至是动画。turtle库的直观性和趣味性使得它成为教育领域教授编程的首选工具,同时也适合进行简单的艺术创作。
2020-03-10 上传
#import ... 使用库中函数需要 库.函数 不会出现函数重名问题 #from .... import* 则可以直接使用函数名 #import .... as ....使代码量更少且不容易重名 import turtle #设置窗体大小和位置,4个参数中后两个可选为左上角坐标,setup函数不是必须的 turtle.setup(650,350,200,200) #绝对坐标 turtle.goto(x,y)海龟一开始在画面的中心(0,0),到达(x,y) #相对坐标 海龟当前运行的方向是前进方向 turtle.fd(d) 或turtle.forward(d) #后方是后退方向 turtle.bk(d) #左侧是左侧方向 turtle.circle(r,angle)以左侧的某个点为圆心向左侧 #右侧是右侧方向 # 画笔控制函数pen... # 一般成对出现: turtle.penup() 别名 turtle.pu() 不画 # turtle.pendown() turtle.pd() 画 # #画笔宽度设置后一直有效 turtle.pensize(width) 或 turtle.width(width) #画笔颜色 turtle.pencolor("purple")或 turtle.pencolor(0.63,0.13,0.94) 或 turtle.pencolor((0.63,0.13,0.94)) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") #绝对角度 turtle角度坐标体系,类似数学平面直角坐标系,turtle.seth(angle)改变海龟行进角度,但不行进 或turtle.setheading() #相对角度 turtle.left(angle)向左改变角度 turtle.right(angle)向右改变角度 turtle.seth(-40) #turtle.circle(r,extent=None)绘制弧 默认圆心是左侧r距离的位置,弧度为360 -r右侧 for i in range(4): turtle.circle(40,80) turtle.circle(-40,80) turtle.circle(40,80/2) turtle.fd(40) turtle.circle(16,180) turtle.fd(40*2/3) turtle.done()