目录
1、turtle库的调用
2、turtle库的构成
2.1 画布
2.2 画笔(海龟)
2.3 绘图指令
Turtle 库是 Python 的一个标准库,主要用于图像的绘制。想象您用一组组函数驾驭一只小小的乌龟,在无垠的沙滩(画布)上昂首阔步,纵横驰骋,画出一个个令人惊艳的图形,甭提多有成就感。
1、turtle库的调用
参见 time库,主要有三种方式:
- import turtle
- from turtle import *
- import turtle as t(或者任何您喜欢的别名)
2、turtle库的构成
主要为画布,画笔和绘图命令,下面分述之。
2.1 画布
画布(canvas),也就是让海龟“挥毫泼墨”用于绘图的区域,单位为像素。创作之前您可以设置需要的大小和背景。
turtle.screensize(canvwidth=None,canvheight=None,bg=None)
参数 canvwidth 和 canvheight 分别为画布的宽和高,bg 为背景颜色。空白示返回默认大小(400, 300)。
如果要设定画布在屏幕中的初始位置,则需要使用下列代码:
turtle.setup(width,height,startx,starty)
参数 width、height 为画布的宽和高,输入为整数时, 表示像素;为小数时,则表示占据电脑屏幕的比例,startx, starty 分别代表画布距离屏幕左、上边缘的像素距离,空白表示画布位于屏幕中心。(上图)
2.2 画笔(海龟)
在画布上,默认有一个以画布中心为原点的坐标轴,其上为一只面朝x轴方向的小乌龟。turtle绘图中,就是根据海龟的位置方向等定义画笔的状态。
要准确理解海龟的位置方向,请参见 Turtle 库之坐标体系。
开始绘图之前,首先要设置画笔的属性(宽度,颜色等):
turtle.penzize()
turtle.pencolor()
turtle.speed()
turtle.pensize():设置画笔的宽度(像素),别名 turtle.width();
turtle.pencolor():设置画笔颜色,可以是字符串,如 'red',也可以是 RGB 3元组。空白为返回当前画笔颜色。
turtle.speed():设置画笔移动速度,为 [0,10] 之间的整数,数字越大速度越快。
2.3 绘图指令
主要有运动指令、控制指令等。
运动指令
指令 | 别名 | 说明 |
turtle.forward() | turtle.fd() | 沿画笔当前方前进()像素 |
turtle.backward() | turtle.bk() turtle.back() | 沿画笔当前方后退()像素 |
turtle.right() | turtle.rt() | 右转()度 |
turtle.left() | turtle.lt() | 左转()度 |
turtle.goto(x,y) | 前往(x,y)坐标 | |
turtle.setposition(x,y) | turtle.setpos(x,y) | 定位(x,y)坐标 |
turtle.setx() | 设置x坐标 | |
turtle.sety() | 设置y坐标 | |
turtle.circle(r,angle) | 画以r为半径的圆弧或圆,角度为正,表示逆时针,为负,则为顺时针 | |
turtle.setheading() | turtle.seth() | 设置画笔朝向 |
turtle.home() | 回到原点 | |
turtle.dot(r,'color') | 绘制一个指定直径及颜色的圆点 |
控制指令
指令 | 别名 | 说明 |
turtle.penup() | turtle.pu() turtle.up() | 抬起画笔 |
turtle.pendown() | turtle.pd() turtle.down() | 落下画笔 |
turtle.isdown() | 画笔是否落下 | |
turtle.fillcolor('color') | 填充(颜色) | |
turtle.color('pencolor', 'fillcolor') | 颜色设置,只有一项默认为画笔颜色 | |
turtle.filling() | 是否填充 | |
turtle.begin_fill() | 开始填充 | |
turtle.end_fill() | 结束填充 | |
turtle.hideturtle() | turtle.ht() | 隐藏画笔 |
turtle.showturtle() | turtle.st() | 显示画笔 |
turtle.clear() | 清空窗口,但是画笔的位置和状态不会改变 | |
turtle.reset() | 重置画笔 | |
turtle.undo() | 撤销上一个动作 | |
turtle.isvisible() | 画笔是否可见 | |
turtle.shape() | 设置画笔形状:'arrow', 'turtle', 'circle', 'square', 'triangle', 'classic',默认为classic | |
turtle.stamp() | 复制画笔形状(相当于印章) | |
turtle.clearstamp() | 清除当前印章 | |
turtle.clearstamps() | 清除全部印章 | |
turtle.write(s [,font=('font_name',font_size,'font_type')]) | 写文本,s为文本内容,字体font是可选项,其名称,大小和类型等参数也是可选项 |