turtle库
概述
- turtle(海龟)是 Python 重要的标准库之一,能够进行基本的图形绘制。
- turtle图形绘制的概念诞生于1969年,并首先成功用于LOGO语言。
- 由于其概念简易直观,十分流行,所以Python接受了其概念,并构造了turtle库。
- turtle库绘制图形有一个基本框架:一个小海龟在平面坐标系中爬行,其轨迹形成了绘制图形。小海龟的动作可以有前进、后退、旋转等,其爬行方向通过小海龟自身角度方位来确定。初始绘制时小海龟位于画布正中央,此时坐标为(0,0),前进方向为水平右方。
引入
turtle库的引用和其他库一样,有三种方式:
import turtle,此时调用函数方式为turtle.<函数名>()
import turtle
turtle.circle(911)
from turtle import *,此时调用函数方式为<函数名>()
from turtle import *
circle(911)
3.import turtle as t,此时调用函数方式为t..<函数名>()(注:此为最常用方式,t为变量名,可任意变换,不过经常以库的前几个字母作为库的新名称,方便记忆调用)
import turtle as t
t.circle(911)
此外还经常会调用库中的几个函数即可,这时常用语句为:from turtle import <函数名1>, <函数名2>,...,使用方法为<函数名>()
使用
turtle 库包含100多个功能函数,主要包括窗体函数、画笔状态函数和画笔运动函数3类。
窗体函数
turtle 库的 turtle.setup()函数与窗体有关,用来设置主窗体的大小和位置。定义如下:
turtle.setup(width,height,startx,starty)
- width:窗口宽度。如果值是整数,表示为像素值;如果值是小数,表示为窗口宽度与屏幕的比例。
- height:窗口高度。如果值是整数,表示为像素值;如果值是小数,表示为窗口高度与屏幕的比例。
- startx:窗口左侧与屏幕左侧的像素距离。如果值为None,窗口位于屏幕水平中央。
- starty:窗口顶部与屏幕顶部的像素距离。如果值为None,窗口位于屏幕垂直中央。
画笔状态函数
在此列举一些常用的画笔状态函数:
penup()或pu()或up():提起画笔pendown()或pd()或down():放下画笔pensize()或width():画笔粗细pencolor(string)或pencolor((r,g,b)):画笔颜色fillcolor(string)或fillcolor((r,g,b)):填充颜色color(string1,string2)或color((r1,g1,b1),(r2,g2,b2)):画笔及填充颜色begin_fill():图形填充开始end_fill():图形填充结束filling():返回填充状态,True为填充,False为未填充clear():清空当前窗口,但不改变当前画笔位置reset():清空当前窗口,并重置状态为默认值screensize(width,height,bgcolor):设置画布宽度、高度及背景颜色hideturtle():隐藏画笔的 turtle 形状showturtle():显示画笔的 turtle 形状tracer():跟踪画笔,默认为 Trueisvisible():如果 turtle 课件,则返回 Truewrite(str,font=("name",size,"type")):输出 font 字体的字符串str
画笔运动函数
turtle 通过一组函数控制画笔的行进动作,从而绘制图形。常用画笔运动函数如下:
forward(distance)或fd(distance):沿着当前方向前进指定距离backward(distance)或bk(distance):沿着相反方向前进指定距离right(angle):向右旋转angle角度left(angle):向左旋转angle角度goto(x,y):移动到指定位置setx(x):修改画笔的横坐标到x,纵坐标不变sety(y):修改画笔的纵坐标到y,横坐标不变setheading(angle)或seth(angle):设置画笔朝向角度home():画笔回到原点,朝向东circle(radius,extent):绘制半径为r,角度为e的弧形(r为正数时半径在小海龟左侧)dot(r,c):绘制半径为r,颜色为c的原点undo():撤销画笔最后一步动作speed(s):设置画笔绘制速度,参数区间为[0,10],0表示无动作,1~10速度渐增,超过10则参数默认为0done():画笔停留
示例
蟒蛇绘制
大家都知道,Python 的英文意思即为蟒蛇,而且 Python 有一句名言:人生苦短,我学 Python。因此,我们尝试绘制一条抽象的蟒蛇,并在其蟒蛇下面书写该名言。代码如下:
# -*-coding:utf-8-*-
import turtle as t
t.setup(911,305)
t.screensize(911,305,"black")
t.pensize(14)
t.color("blue")
t.pu()
t.fd(-305)
t.pd()
t.seth(45)
for i in range(4):
t.circle(-45,90)
t.circle(45,90)
t.right(45)
t.fd(30)
t.pu()
t.goto(-160,-100)
t.pd()
t.write("人生苦短,我学Python",font=("华文行楷",14,"bold"))
t.hideturtle()
t.done()
心形绘制
大家平常肯定都是喜欢画些小心心送给某人吧ヾ(゚∀゚ゞ),在这我们尝试用Python画个心形送给她(他)吧。代码如下:
# -*-coding:utf-8-*-
from turtle import *
hideturtle()
pensize(1)
color("pink","red")
pu()
goto(0, 100)
pd()
begin_fill()
left(90)
circle(120,180)
circle(360,70)
left(38.95)
circle(360,70)
circle(120,180)
end_fill()
done()
1万+

被折叠的 条评论
为什么被折叠?



