python turtle库解析

python常用库之turtle库解析

之前我们在聊python语言的特点时有这么一条:python的库资源非常丰富,这就大大减少了我们写代码的工作量,因此好好掌握一些常用的第三方库对我们写一些常用的的程序帮助是非常大的。那么下面我们来聊聊常用库中的turtle库吧
我们在使用第三方库时需要安装并倒入到我们的工程文件中去,turtle库已经默认安装了,因此我们可以使用import关键字导入turtle库,关于导入第三方库相关知识大家可以查看下面这个链接
python导库的三种方式


turtle的英文含义是海龟,turtle库在python中通常用于绘图。根据绘图的需要把这些库函数分为了三个大类:坐标体系绘制函数、画笔控制函数、形状绘制函数。

坐标体系绘制函数

其中坐标体系绘制函数为turtle.setup(),这个函数用于控制绘图窗体的大小(首先要明确我们绘图时并不是在整个电脑上绘图,而是有一个用于绘图的窗口供我们绘图,turtle.setup()函数就用于设置窗体大小。其中有四个参数:❶turtle.setup(width,height,startx,starty)
wdith表示窗口宽度,如果传入整数表示像素值,如果传入小数表示窗口宽度和屏幕的比例。
height表示窗口高度,如果传入整数表示像素值,如果传入小数表示窗口高度和屏幕的比例。
startx表示表示窗口左侧与屏幕左侧的的像素距离,如果值为None则窗口位于屏幕水平中央。
starty表示窗口顶部与屏幕顶部的像素距离,如果值为None则窗口位于屏幕竖直中央。

差不多就是下面这个亚子
如果不是特别需要通常情况下绘图的窗体都不做特殊设置,setup函数也可以不调用。


画笔控制函数

turtle库的画笔我们也通常把它称作小海龟,通过想象海龟在陆地上的运行来理解画笔的运行轨迹。我们在作画时并不是所有的线条都是连续的,中间会有空袭,体现在小海龟身上就是小海龟不能只在地上爬行,还应该让它适当的飞起来,因此我们通过penup()和pendown()函数完成这一对动作。
turtle.penup():
别名turtle.pu()或turtle.up()
作用:用于抬起画笔(即让小海龟飞起来),这之后移动画笔都不绘制图形(即小海龟在天上飞,在地下不留痕迹)
turtle.pendown():
别名:turtle.pd()或turtle.down()
作用:落下画笔(相当于海龟从天上掉下来),之后移动画笔将绘制图形(相当于小海龟继续在地上爬行,留下痕迹)
turtle.pensize(width):
别名:turtle.width(width)
作用:用来设置画笔宽度,当无参数输入时用来返回当前画笔宽度
❺turtle.pencolor(x):
作用:给画笔设置颜色,当无参数输入时返回当前画笔颜色
x表示参数:
补充:画笔颜色的有关参数
1.可以是表示颜色的字符串例如:“red”,“pink”,“yellow”,“purple”,“blue”,"orange"等
2.可以是颜色对应的RGB数值

补充:RGB颜色相关知识
RGB颜色是计算机最常采用的颜色体系之一,R代表红色,B代表蓝色,G代表绿色,他们可以组合成人眼可以感知的任意颜色,采用(r,g,b)三个参数来表示。RGB三个参数有两种表示方式,一种是整数形式,一种是小数形式整数范围为:[0,255]闭区间,小数数值范围为:[0,1]闭区间。因此表示一种颜色可以采用RGB形式的小数或是整数,也可以采用相应的颜色字符串来表示。


形状绘制函数

也可以叫做是海龟运动控制函数,用于控制海龟的运动。
turtle.fd()
别名:turtle.forward(dis):
作用:使小海龟向当前行进方向前进distance距离,其中dis代表行进距离,当dis为负数时代表向反方向行进。
turtle.seth()
别名:turtle.setheading(angle)
作用:设置小海龟当前行进方向为angle,该角度为绝对角度



补充:两种坐标系
绝对坐标系:类似于数学中的x轴和y轴,x轴正半轴为0°和360°,x轴负半轴为180°和-180°,y轴正半轴为90°和-270°,y轴负半轴为270°和-90°,按照顺时针方向度数递减,逆时针方向度数递增。
绝对坐标系中有一个常用函数为goto(x,y)
goto(x,y)
作用:使在任何位置的海龟移动到坐标为(x,y)的点


海归坐标系:以海龟为参照物,有turtle.fd,turtle.bk,turtle.circle,turtle.left,turtle.right五个函数
❾turtle.bk(dis)
作用:使海龟向海龟反方向运动距离为dis
补充:和turtle.fd类似,turtle.fd(20)等同于turtle.bk(-20)

❿turtle.circle(r,extent)
作用:使海龟做角度为extent的圆周运动,圆心在海龟左侧距离为r的地方,如没有给出extent则默认做360°整个圆。当r为正值时圆心在海龟左侧,r为负值时圆心在海龟右侧

turtle.right(angle)
作用:使海龟向海龟右侧转angle度

turtle.left(angle)
作用:使海龟向海龟左侧转angle度



以上就是我们turtle比较常用的几个绘图函数,我们在使用turtle库时应该建立两个思想,一个是绝对坐标思想一个是海龟坐标思想。绝对坐标下我们以一个点为坐标原点,我们站在海龟上方指挥海归运动,发出的指令相对坐标原点。海归坐标系下我们就是海归,可以根据自身需求变换方向而且发出的指令都相对自身。


下面给大家康康我画的喜羊羊半成品(๑‾ ꇴ ‾๑)

# drawsheep.py
import turtle as t
#画眼睛
t.penup()
t.goto(-70,70)
t.pendown()
t.pencolor("black")
t.circle(40)
t.circle(20)
t.penup()
t.goto(70,70)
t.pendown()
t.circle(40)
t.circle(20)
#画鼻子
t.penup()
t.goto(0,20)
t.pendown()
t.circle(20)
t.penup()
t.goto(0,26)
t.pendown()
t.circle(8)
#画嘴巴
t.penup()
t.goto(-50,-10)
t.pendown()
t.right(90)
t.circle(50,180)
t.right(90)
t.bk(100)
#画眉毛
t.penup()
t.goto(-110,165)
t.pendown()
t.fd(40)
t.penup()
t.goto(110,165)
t.pendown()
t.bk(40)
#画脸
t.penup()
t.goto(0,-60)
t.pendown()
t.circle(150)
#画铃铛
t.penup()
t.goto(0,-60)
t.pendown()
t.circle(-10)
t.done()

由于时间关系只写了脸和铃铛的代码也没有上色ฅ՞•ﻌ•՞ฅ̊
好嘞那我们下回见咯
python turtle库解析_第1张图片

你可能感兴趣的:(python学习,python)