python模块 — turtle

一、turtle库

1、turtle库是python计算机二级考试必选库。

2、turtle模块是Python的一个标准库。

3、使用画笔在画布上绘图,需要先了解 turtle的坐标体系

4、turtle库绘图原理:有一只海龟在窗体正中心,初始坐标(0,0),面向x轴的正方向,通过程序控制海龟在画布上游走,走过的轨迹形成了绘制的图形,可以设置画布和海龟的颜色、方向宽度等各种属性。

5、官方文档:turtle --- 海龟绘图 — Python 3.8.18 文档

二、画布(TurtleScreen)

1、设置画布的大小和背景颜色

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

参数说明:

  • canvwidth(可选):一个正整数,用于设置画布的宽度(以像素为单位)。如果不提供参数,画布宽度将默认为 400 像素。
  • canvheight(可选):一个正整数,用于设置画布的高度(以像素为单位)。如果不提供参数,画布高度将默认为 300 像素。
  • bg(可选):一个表示背景颜色的字符串,用于设置画布的背景色。如果不提供参数,背景颜色将默认为白色。

2、设置主窗口的大小和位置。

turtle.setup(width=_CFG["width"], height=_CFG["height"], startx=_CFG["leftright"], starty=_CFG["topbottom"])

参数说明: 

  • width -- 如为一个整型数值,表示大小为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 50%
  • height -- 如为一个整型数值,表示高度为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 75%
  • startx -- 如为正值,表示初始位置距离屏幕左边缘多少像素,负值表示距离右边缘,None 表示窗口水平居中
  • starty -- 如为正值,表示初始位置距离屏幕上边缘多少像素,负值表示距离下边缘,None 表示窗口垂直居中

三、画笔/海龟(Turtle)

1、海龟移动

1.1 海龟前进

turtle.forward(distance)

turtle.fd(distance)

参数:distance -- 一个数值 (整型或浮点型)

功能:海龟前进 distance 指定的距离,方向为海龟的朝向。

1.2 海龟后退

turtle.back(distance)

turtle.bk(distance)

turtle.backward(distance)

参数:distance -- 一个数值

功能:海龟后退 distance 指定的距离,方向与海龟的朝向相反。不改变海龟的朝向。

1.3 海龟移动到指定坐标位置

turtle.goto(x, y=None)

turtle.setpos(x, y=None)

turtle.setposition(x, y=None)

参数:

  • x -- 一个数值或数值对/向量
  • y -- 一个数值或 None

功能:海龟移动到一个绝对坐标。如果画笔已落下将会画线。不改变海龟的朝向。

注意:这个方法不会改变海龟的朝向,也就是说,无论海龟移动到哪里,它的方向都没有改变。

1.4 海龟沿着x轴移动

turtle.setx(x)

参数:x -- 一个数值 (整型或浮点型)

1.5 海龟沿着y轴移动

turtle.sety(y)

参数:y -- 一个数值 (整型或浮点型)

1.6 海龟移动到初始位置并恢复默认方向

turtle.home()

功能:海龟移至初始坐标 (0,0),并设置朝向为初始方向 
    

2、海龟旋转

2.1 海龟右转

turtle.right(angle)

turtle.rt(angle)

参数:angle -- 一个数值 (整型或浮点型),角度的正负由海龟模式mode确定。

2.2 海龟左转

turtle.left(angle)

turtle.lt(angle)

参数:angle -- 一个数值 (整型或浮点型),角度的正负由海龟模式mode确定。

3、设置海龟模式

turtle.mode(mode=None)

参数:mode -- 字符串 "standard", "logo" 或 "world" 其中之一

功能:设置或者查询当前的海龟模式,如未指定模式则返回当前的模式。

模式

初始海龟朝向

正数角度

"standard"

朝右 (东)

逆时针

"logo"

朝上 (北)

顺时针

注意:turtle模块默认的模式是“standard”。

4、设置海龟朝向角度

turtle.setheading(to_angle)

turtle.seth(to_angle)

参数:to_angle -- 一个数值 (整型或浮点型),设置海龟的朝向为 to_angle

以下是以角度表示的几个常用方向:

标准模式

logo 模式

0 - 东

0 - 北

90 - 北

90 - 东

180 - 西

180 - 南

270 - 南

270 - 西

5、控制画笔状态

5.1 画笔落下 -- 移动时将画线。

turtle.pendown()

turtle.pd()

turtle.down()

5.2 画笔抬起 -- 移动时不画线。

turtle.penup()

turtle.pu()

turtle.up()

6、设置画笔宽度

turtle.pensize(width=None)
turtle.width(width=None)

7、设置画笔颜色

turtle.pencolor(*args)

turtle.pencolor(*args) 是 turtle 模块中用于设置画笔颜色的方法。它可以接受不同类型的参数来指定颜色,包括字符串、RGB元组或者RGB值。

具体来说,*args 表示可以传入一个或多个参数,即允许多种方式来指定颜色,如下:

  • 字符串参数: 传入一个Tk 颜色描述字符串,例如 "red"、"blue"、"green" 等,表示设置画笔颜色为指定的颜色。

  • RGB元组参数: 传入一个包含RGB颜色值的元组,例如 (0.5, 0.5, 0.5),每个数值范围在0-1之间,表示设置画笔颜色为指定的RGB颜色。

  • 整数参数: 传入三个整数作为参数,例如 pencolor(255, 0, 0),表示设置画笔颜色为指定的RGB颜色,每个数值的取值范围在0-255之间。

8、设置填充颜色

8.1 设置填充颜色

turtle.fillcolor(*args)

功能:返回或设置填充颜色,设置填充颜色的方法跟设置画笔颜色的方法一致。

8.2 开始填充

turtle.begin_fill()

8.3 结束填充

turtle.end_fill()

下面是一个简单示例,绘制一个正方向,填充颜色为红色。

9、设置海龟状态

9.1 隐藏海龟(可显著加快绘制速度)

turtle.hideturtle()

turtle.ht()

9.2 显示海龟

turtle.showturtle()

turtle.st()

10、保持绘图窗口

turtle.done() 

turtle.done() 方法是一个用于显示绘图的窗口并进入主循环的函数。它通常用于展示通过turtle模块绘制的图形,并保持图形窗口打开,直到用户关闭窗口。

11、绘制圆/正多边形

turtle.circle(radius, extent=None, steps=None)

radius -- 圆的半径,圆心在海龟左边 radius 个单位。如果半径为正值,则海龟从圆的左侧开始绘制;如果半径为负值,则海龟从圆的右侧开始绘制。

extent -- 绘制圆的部分弧度,默认为None(表示绘制整个圆)。如果指定了这个参数,它应该是一个数字,表示以角度为单位的 "绘制弧度",即要绘制的圆的一部分。正值表示逆时针方向,负值表示顺时针方向。

steps -- 如果指定了这个参数,应该是一个整数。它表示将圆分成多少段来绘制。较大的值会导致更接近于真实圆形的绘制,但较小的值会更快。

四、绘图实例

1、绘制一个爱心

# 爱心
import turtle
turtle.fillcolor('red')
turtle.begin_fill()
turtle.left(40)
turtle.forward(100)
turtle.circle(50,210)
turtle.right(135)
turtle.circle(50,210)
turtle.forward(100)
turtle.end_fill()


reference:

turtle --- 海龟绘图 — Python 3.8.18 文档

python—turtle库的基本介绍 - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值