![f150bf6af059c1accda1f4b3b8b6189d.png](https://img-blog.csdnimg.cn/img_convert/f150bf6af059c1accda1f4b3b8b6189d.png)
前言
Python作为数据可视化的工具,具有强大的绘图功能。阅读完本节,不仅能掌握Python基本图形绘制和turtle库,还能绘制一条自己的python(译为蟒蛇)。
1
turtle库概述
turtle(海龟)库是turtle绘图体系的Python实现
——turtle绘图体系:1969年诞生,主要用于程序设计入门
—— Python语言的标准库之一
——入门级的图形绘制函数库
ps:
标准库:随解释器直接安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块
2
turtle绘图窗体
![b5c91a71e028ad1369bab8d0c4bdd944.png](https://img-blog.csdnimg.cn/img_convert/b5c91a71e028ad1369bab8d0c4bdd944.png)
setup()设置窗体大小及位置,调整绘图窗体在电脑屏幕中的布局
turtle.setup(width, height, startx, starty)
4个参数中后两个可以不设置,如果不设置,默认绘图窗体位于屏幕正中心。
![a2cf27802cdbd262949fd080b62e3f4e.png](https://img-blog.csdnimg.cn/img_convert/a2cf27802cdbd262949fd080b62e3f4e.png)
![03f62d38429c2ef2006a7747639296e3.png](https://img-blog.csdnimg.cn/img_convert/03f62d38429c2ef2006a7747639296e3.png)
ps:turtle的一个画布空间,最小单位是像素
3
turtle空间坐标体系
Part 1
绝对坐标
turtle.goto(x, y)
如:
import turtleturtle.goto( 100, 100)turtle.goto( 100,-100)turtle.goto(-100,-100)turtle.goto(-100, 100)turtle.goto(0,0)
得到如下图像:
![681989f626b12f681f0b590e67bbf9f4.png](https://img-blog.csdnimg.cn/img_convert/681989f626b12f681f0b590e67bbf9f4.png)
Part 2
海龟坐标
![e21e3d08a783e78a358d9bca96fd26b0.png](https://img-blog.csdnimg.cn/img_convert/e21e3d08a783e78a358d9bca96fd26b0.png)
![c02b898c97e0f9269d4146060c1ce4e5.png](https://img-blog.csdnimg.cn/img_convert/c02b898c97e0f9269d4146060c1ce4e5.png)
4
turtle角度坐标体系
Part 1
绝对角度
turtle.seth(angle)
—seth()改变海龟行进方向
—angle为绝对度数
—seth()只改变方向,但不行进!
如:
turtle.seth(45)
![e67b2a024a04203b5934acfe7547b874.png](https://img-blog.csdnimg.cn/img_convert/e67b2a024a04203b5934acfe7547b874.png)
turtle.seth(-135)
![2605591929e1750ba382f25f82a6d096.png](https://img-blog.csdnimg.cn/img_convert/2605591929e1750ba382f25f82a6d096.png)
Part 2
海龟角度
![23ce637ffec529d9e283a6933ad1546c.png](https://img-blog.csdnimg.cn/img_convert/23ce637ffec529d9e283a6933ad1546c.png)
如:
import turtleturtle.left(45)turtle.fd(150)turtle.right(135)turtle.fd(300)turtle.left(135)turtle.fd(150)
得到如下结果:
![9ae8eead9472144db910aab600057cfb.png](https://img-blog.csdnimg.cn/img_convert/9ae8eead9472144db910aab600057cfb.png)
5
turtle库的引用
库引用
(1) 使用import保留字完成(不会出现函数重名问题)
import
.()
如:
import turtleturtle.setup(650, 350, 200, 200)
(2) 使用from和import保留字共同完成
from import
或 from import *
()
如:
from turtle import *setup(650, 350, 200, 200)
(3) 使用import和as保留字共同完成
(给调用的外部库关联一个更短、适合自己的名字)
import as
.()
如:
import turtle as t t.setup(650, 350, 200, 200)
6
turtle函数
Part 1
画笔控制函数
turtle.penup() 别名 turtle.pu() ——抬起画笔
turtle.pendown() 别名 turtle.pd() ——落下画笔
turtle.pensize(width) 别名 turtle.width(width) ——画笔宽度
turtle.pencolor(color) ——color为颜色字符串或r,g,b值 画笔颜色
ps:
pencolor(color)的color可以有以下三种形式
颜色字符串 :turtle.pencolor("purple") -
RGB的小数值:turtle.pencolor(0.63, 0.13, 0.94) -
RGB的元组值:turtle.pencolor((0.63,0.13,0.94))
Part 2
运动控制函数
turtle.forward(d) 别名 turtle.fd(d) ——向前行进(d: 行进距离,可以为负数)
turtle.backward(d) 别名 turtle.bk(d) ——向后退(d: 行进距离,可以为负数)
turtle.circle(r, extent=None) ——根据半径r绘制extent角度的弧形
(r: 默认圆心在海龟左侧r距离的位置 ;extent: 绘制角度,默认是360度整圆)
Part 3
方向控制函数
turtle.setheading(angle) 别名 turtle.seth(angle) ——改变行进方向 (angle: 行进方向的绝对角度)
-turtle.left(angle) 向左转
turtle.right(angle) 向右转
(angle: 在海龟当前行进方向上旋转的角度)
7
蟒蛇绘制代码
基本的语法大家都已经掌握了吧,现在我们来绘制Python蟒蛇吧!
import turtleturtle.setup(650, 350, 200, 200)turtle.penup()turtle.fd(-250)turtle.pendown()turtle.pensize(25)turtle.pencolor("purple")turtle.seth(-40)for i in range(4):turtle.circle(40, 80)turtle.circle(-40, 80)turtle.circle(40, 80/2)turtle.fd(40)turtle.circle(16, 180)turtle.fd(40 * 2/3)turtle.done()
![edcbf72bc8e089a75e0dbe2166d30ff7.png](https://img-blog.csdnimg.cn/img_convert/edcbf72bc8e089a75e0dbe2166d30ff7.png)
大家可以在电脑中输入代码,并稍作修改,如颜色、粗细、形状,绘制自己的第一个Python蟒蛇。
知识来源:中国大学MOOC
本期作者:祝汪芮
本期编辑校对:秦范
长按,关注数据皮皮侠
![d538cc8357878a5cf1bcf962e3cb9a0b.png](https://img-blog.csdnimg.cn/img_convert/d538cc8357878a5cf1bcf962e3cb9a0b.png)