Note of Python Turtle
Turtle 库函数是 Python语言中一个流行的绘图函数库。Turtle 意思是海龟,在Python中显示为一个小箭头,通过它的移动而留下美妙的曲线~~~
1.调用库函数
(1) 导入库函数:import <库名>
使用库中函数:<库名> . <函数名> (<函数参数>)
import turtle
turtle.pensize(3)
turtle.forward(250)(2) 导入库函数:from <库名> import * ( *为通配符 )
使用库中函数:<函数名> (<函数参数>)
from turtle import *
pensize(3)
forward(250)效果示例:

2. 绘图控制函数
2.1 画布:画布是用于绘图的区域,可控制其界面大小。
(1) setup ( width , height , startx , starty )
width : 窗口宽度,值为整数则对应像素值;值为小数则为窗口宽度与屏幕的比例。
height : 窗口高度,值为整数则对应像素值;值为小数则为窗口高度与屏幕的比例。
startx : 窗口左侧与屏幕左侧的像素距离,值为None则窗口位于窗口水平中央。
starty : 窗口右侧与屏幕右侧的像素距离,值为None则窗口位于窗口垂直中央。
 
(2) screensize ( canvwidth = None , canvheight = None , bg = None)
canvwidth:窗口宽度,单位为像素
canvheight:窗口高度,单位为像素
bg:窗口背景颜色
from turtle import setup         #导入turtle.setup函数
setup(650,350,350,180)           #方法一
screensize(650,350,"green")      #方法二
2.2 画笔
(1) 抬笔:penup() / pu() / up() 绘图时不留下痕迹
(2) 落笔:pendown() / pd() / down() 绘图时留下痕迹
(3) 画笔速度:speed( speed ) 设置画笔的速度,speed在 [0,10] 之间,speed 为 0 时最快
(4) 画笔宽度:pensize( width ) 设置画笔的宽度
(5) 画笔颜色:pencolor( colorstring ) / pencolor(R,G,B) 设置画笔的颜色
| 英文名称 | 中文名称 | R G B | 
| white | 白色 | 255 255 255 | 
| black | 黑色 | 0 0 0 | 
| gray | 灰色 | 190 190 190 | 
| darkgreen | 深绿色 | 0 100 0 | 
| gold | 金色 | 255 215 0 | 
| violet | 紫罗兰 | 238 130 238 | 
| purple | 紫色 | 160 32 240 | 
2.3 绘图
| 命令 | 说明 | 
| fd(distance) / forward(distance) | distance 为前进距离的像素值 | 
| bk(distance) / backward(distance) | distance 为后退距离的像素值 | 
| lt(angle) / left(angle) | angle 为左转的角度 | 
| rt(angle) / right(angle) | angle 为右转的角度 | 
| seth(angle) / setheading(angle) | angle 为转到的角度,即改变绘图的方向 | 
| circle(radius [,extent]) | 绘制以radius为半径、以angle为角度的弧形 (extent 为None时,绘制整个圆;radius 为正数时,绘制的图形在小海龟左侧;radius 为负数时,绘制的图形在小海龟右侧) | 
| goto(x,y) | 将画笔移动到坐标为(x,y)的位置 | 
| ht() / hideturtle() | 隐藏小海龟 | 
| st() / showturtle() | 显示小海龟 | 
| fillcolor(colorstring) | 填充颜色 | 
| begin_fill() | 开始填充图形 | 
| end_fill() | 填充完成 | 
2.4 控制命令
| 命令 | 说明 | 
| home() | 使小海龟回到初始位置 (0,0) | 
| clear() | 清空窗口,但小海龟的位置和状态不变 | 
| reset() | 清空窗口,且重置小海龟的状态为初始状态 | 
| undo() | 撤销上一个动作 | 
| stamp() | 复制当前图形 | 
| write(s [,font=(“font_name”,font_size,”font_type”)]) | 写文本,s 为文本内容,font 是字体的参数,内部分别是字体名称,大小和类型 | 
3 绘制图形示例
3.1 绘制叠加等边三角形
 
# 往里叠加的等边三角形from turtle import *
n = int(input("请输入需要绘制的三角形个数:"))
d = 300for i in range(n):
    for j in range(3):
        seth((-1)**i*120*j)
        fd(d)
    fd(-d/2)
    d /= 2
ht()
pu()
home()
write("已绘制{}个等边三角形".format(n))
3.2 绘制正方形螺旋线
 
#正方形螺旋线from turtle import *
r = 10      #最小边长
d = 10      #边与边的距离
n = 25      #圈数
speed(10)   #加快绘图速度
for i in range(2*n):
    fd(r)
    left(90)
    fd(r)
    left(90)
    r += d
3.3 绘制小蟒蛇
 
#小蟒蛇from turtle import *
setup(900,300,200,180)      #设置画布大小
pensize(30)                 #设置画笔大小
pencolor("purple")          #设置画笔颜色
seth(-40)                   #初始画笔方向
n = 3
r = 40
angle = 80for i in range(n):
    circle(r,angle)
    circle(-r,angle)
circle(r,angle/2)
fd(r/2)
circle(r/2,180)
fd(r)
3.4 绘制国际象棋棋盘
 
from turtle import *
d = int (input("d = ")) #获取正方形长度
speed(0)                # 提高画笔速度
def Sq_white():         # 定义函数:画一小格白框框
    for i in range(4):
        fd(d)
        rt(90)
    fd(d)
def Sq_black():         # 定义函数:画一小格黑框框
    fillcolor("black")
    begin_fill()
    for i in range(4):
        fd(d)
        rt(90)
    end_fill()
    fd(d)
def W_B(n):             # 定义函数:白黑框框组合
    for a in range(n):
        Sq_white()
        Sq_black()
def B_W(n):             # 定义函数:黑白框框组合
    for b in range(n):
        Sq_black()
        Sq_white()
def Turn():             # 定义函数:画完一次转的角度
    rt(90)
    fd(d)
def Control2():             # 执行的函数2:使用普通的方法,程序简单
    for p in range(4):
        W_B(4)
        rt(90)
        fd(2*d)
        rt(90)
        W_B(4)
        rt(180)
Control2()
来源:oschina
链接:https://my.oschina.net/u/4352971/blog/3618033