
写在前面:昨天反复修改格式,本来已经发出去了,后有好兄弟私戳我有点小问题,不过我也因此发现现在已经发出去的文章是可以修改的,虽然仅限20字,最气的是出错的地方多了三个“turtle.”,好巧不巧刚好21个字。


最近忙活实验,死磕做不出东西,打算换一种思路,又要刷很多文献;
前段时间温故了一下之前没学完的Python,顺便写了一篇Turtle库入门级使用方法,感觉排版有点点乱,但是东西确实很基础,如果感兴趣也可以直接戳我聊。
Turtle(海龟)库:海龟绘图体系,是Python的标准库之一。
Python计算生态=标准库+第三方库(需要经过安装才能使用的功能模块)
1. turtle绘图窗体布局
最小单位为像素,其中显示器左上角为坐标原点;
用turtle.setup(width,height,startx,starty) 来设置启动窗体的位置和大小(默认处在显示器中央),其中后面两个参数不是必须的。

如turtle.setup(800,400,0,0) 可以得到出现在显示器左上角的宽为800像素,高为400像素的窗体。

2. turtle空间坐标体系
海龟的朝向向右,即为X轴。
使用turtle.goto(x,y)可以使海龟前往从现位置前往坐标位置(x,y)

从海龟自身的运动看起。
turtle.circle(r,angle)以海龟当前位置左侧某点为圆心,以r为半径,angle为角度进行曲线运行。
turtle.bk(d)向正后方运动d像素。
turtle.fd(d)向正前方运动d像素。

3. turtle角度坐标体系

turtle.left(angle)改变海龟的方向向左
turtle.right(angle)改变海龟的方向向右
4. RGB色彩体系
RGB即Red,Green,Blue红蓝绿三个通道的颜色组合,RGB每色取值范围为0- 255整数或0-1小数;需要注意的是,turtle库默认用小数表示颜色,采用turtle.colormode(255)切换为用整数表示,采用turtle.colormode(1.0) 切换回小数模式。
英文名称 | 整数值 | 小数值 | 中文名称 |
|---|---|---|---|
black | 0,0,0 | 0,0,0 | 黑色 |
blue | 0,0,255 | 0,0,1 | 蓝色 |
cyan | 0,255,255 | 0,1,1 | 青色 |
yellow | 255,255,0 | 1,1,0 | 黄色 |
magenta | 255,0,255 | 1,0,1 | 洋红 |
white | 255,255,255 | 1,1,1 | 白色 |
5.库引用
使用时: import+库
库+函数名
举例 import turtle turtle.setup(800,400) turtle.fd(200) turtle.done()
使用以上方法进行库引用时,不需要使用库+函数名的方式使用
举例 from turtle import* setup(800,400) fd(200) done()
但使用此种方法时可能会出现函数重名的情况。
举例 import turtle as t t.setup(800,400) t.fd(200) t.done()
6.turtle画笔控制函数
命令 | 运行 |
|---|---|
turtle.penup()或turtle.pu() | 画笔抬起,不在画布上形成图案 |
turtle.pendown()或turtle.pd() | 画笔落下,在画布上形成图案 |
turtle.pensize()或turtle.width() | 画笔宽度(海龟腰围) |
turtle.pencolor(color) | 画笔颜色(海龟皮肤) |
turtle.speed() | 设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快 |
turtle.fillcolor() | 绘制图形的填充颜色 |
turtle.color(color1, color2) | 同时设置pencolor=color1,fillcolor=color2 |
turtle.begin_fill() | 准备开始填充图形 |
turtle.end_fill() | 填充完成 |
画笔颜色括号中的color有三种模式
举例 颜色字符串 turtle.pencolor(“purple”)注意括号内必须为小写且为字符串 RGB小数值 turtle.pencolor(0.63,0.13,0.94) RGB元组值 turtle.pencolor((0.63,0.13,0.94))注意双括号
7.turtle运动控制函数
控制海龟运动:走直线或曲线
turtle.forward(d)别名turtle.fd(d) 向前行进d像素
turtle.circle(r,angle) 根据半径r绘制角度为angle的弧形,若angle=0,则绘制圆形。
默认情况下圆心在海龟的左侧距离r的位置,若半径为负数,则圆形在海龟的右侧。
8.turtle方向控制函数
控制海龟面对方向
绝对角度:turtle.setheading(angle)别名turtle.seth(angle)
海龟角度:turtle.left() & turtle.right()
9.turtle全局控制命令
turtle.reset() 清空窗口,重置为起始状态
练习
使用turtle库,绘制一个风轮效果,每个风轮内角为45度,风轮长150像素。

#WindWheel.py
import turtle as t
t.pensize(2)
for i in range(4):
t.seth(90*i)
t.fd(150)
t.right(90)
t.circle(-150,45)
t.goto(0,0)


当然,理论上使用turtle库能够画出各种各样的图形,比如说某粉红色电吹风。

源码:
https://blog.csdn.net/qq_40587575/article/details/80587172

Turtle库作为第一个重要的标准库,入门不难,但是想要利用好还得多练习。
时钟源码及更多turtle库学习:
https://blog.csdn.net/zengxiantao1994/article/details/76588580


就先写这么多啦,写到最后排版的时候被师兄看见,然后师兄说:“这是不是那个用海龟画图的东西,我们小学就学过。” ???? 怎么我的小学计算机课就是4399,7k7k,果然人与人之间的差距从小学就开始了

接下来可能会写Linux,打算先写一篇用Linux进行基因家族分析的方法,然后blast,RNAseq...慢慢来吧!
如果你还没不知道这个公众号为啥出现,欢迎去看上一篇文章。

日常||我为什么新开一个公众号?