Skip to content

turtle 库

目录


  • 引入
python
import turtle

画布

turtle 中的画布就是用于绘画的区域,我们可以设置它的大小和初始位置。 常用的画布方法:

  • screensize()方法

语法:

python
turtle.screensize(canvwidth=None, canvheight=None, bg=None)

canvwidth -- 宽

canvheight -- 高

bg -- 背景颜色

示例:

python
import turtle, time
turtle.screensize(800, 600, "green")
turtle.screensize() #返回默认大小(400, 300)
time.sleep(3)
  • setup()方法

语法:

python
turtle.setup(width=0.5, height=0.75, startx=None, starty=None)

width、height -- 输入宽和高为整数时, 表示像素。为小数时, 表示占据电脑屏幕的比例

startx、starty -- 这一坐标表示 矩形窗口左上角顶点的位置,如果为空,则窗口位于屏幕中心

示例:

python
import turtle, time
turtle.screensize(800, 600, "green")
turtle.screensize() #返回默认大小(400, 300)
time.sleep(3)

画笔

画笔有颜色、画线的宽度等属性:

  • turtle.pensize() => 设置画笔的宽度;

  • turtle.pencolor() => 没有参数传入返回当前画笔颜色。传入参数设置画笔颜色,可以是字符串如"red"、"blue",也可以是 RGB 3 元组。

  • turtle.speed() => 设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

绘图命令

操纵海龟绘图有多种命令,这些命令可以分为 3 中,分别是:画笔运动命令、画笔控制命令和全局控制命令。

画笔运动命令

移动

turtle 的坐标远点在正中间,坐标系为正常的直角坐标系

  • turtle.forward(distance) => 向当前画笔方向移动 distance 像素长

    简写: turtle.fd(distance)

  • turtle.backward(distance) => 向当前画笔相反方向移动 distance 像素长度

  • turtle.goto(x,y) => 将画笔移动到坐标为 x,y 的位置

  • turtle.sety() => y 轴移动到指定位置

  • turtle.sety() => y 轴移动到指定位置

  • turtle.home() => 画笔回到原点(中间),朝向右边

转角

向右为 0 度,直角坐标系为正常的直角坐标系

  • turtle.sethesding(angle) => 设置朝向为 angle(0,360°)

  • turtle.right(degree) => 顺时针移动 degree°

  • turtle.left(degree) => 逆时针移动 degree°

画笔抬起和落下
  • turtle.pendown() => 移动时绘制图形,缺省时也为绘制

  • turtle.penup() => 移动时不绘制图形,提起笔,用于另起一个地方绘制时用

画笔速度
  • turtle.speed(speed) => 画笔绘制的速度范围[0,10]整数
画圆
  • turtle.circle() => 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

画笔控制命令

  • turtle.pensize(width) => 绘制图形时的宽度
  • turtle.pencolor() => 画笔颜色
  • turtle.fillcolor(colorstring) => 绘制图形的填充颜色
  • turtle.color(color1, color2) => 同时设置 pencolor=color1, fillcolor=color2
  • turtle.filling() => 返回当前是否在填充状态
  • turtle.begin_fill() => 准备开始填充图形
  • turtle.end_fill() => 填充完成
  • turtle.hideturtle() => 隐藏箭头显示;
  • turtle.showturtle() => 与 hideturtle()函数对应

全局控制命令

  • turtle.clear() => 清空 turtle 窗口,但是 turtle 的位置和状态不会改变
  • turtle.reset() => 清空窗口,重置 turtle 状态为起始状态
  • turtle.undo() => 撤销上一个 turtle 动作
  • turtle.isvisible() => 返回当前 turtle 是否可见
  • stamp() => 复制当前图形
  • turtle.write(s[,font=("font-name",font_size,"font_type")]) => 写文本,s 为文本内容,font 是字体的参数,里面分别为字体名称,大小和类型;font 为可选项, font 的参数也是可选项

Copyright © 2022 田园幻想乡 浙ICP备2021038778号-1