目录
一、turtle库的使用
1.基本介绍
2.turtle绘图窗体布局
3.turtle空间坐标体系
4.turtle角度坐标体系
5.RGB色彩体系
二、turtle程序语法元素分析
1.库引用与import
2.turtle画笔控制函数
3.turtle运动控制函数
4.turtle方向控制函数
5.循环语句与range()函数
# turtle
#e2.1DrawPython.py
import turtle
turtle.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()
解释:为什么会出现窗体?
import保留字引入了一个绘图库,名字叫:turtle
turtle(海龟)库是turtle绘图体系的Python实现,是Python语言的标准库之一。
python计算生态=标准库+第三方库
-标准库:随解释器直接安装到操作系统中的功能模块
-第三方库:需要经过安装才能使用的功能模块
-库Library、包Package、模块Module,统称模块。
(1)turtle绘图窗体是turtle的一个画布空间,最小单位是像素
(2)turtle.setup(width, height, startx, starty) 4个参数中后两个可选,没有指定后两个参数则默认窗体在屏幕正中间
-setup()设置窗体大小及位置
width, height指的是窗体本身的宽度和高度
startx, starty指的是起始点的xy坐标,是窗体的左上角的位置的坐标(左上角位置相对于屏幕的左上角的坐标)
-setup()不是必须的
在turtle窗体内部形成了空间坐标体系,包含绝对坐标和海龟坐标两种,
(1)绝对坐标:海龟刚开始在画布中心,坐标为(0,0),窗体的右方向是x轴,上方向是y轴,由此构成了一个绝对坐标系。
利用空间坐标,改变turtle的行进位置,可以使用goto函数
turtle.goto(x,y) 指的是让在任何位置的海龟去到达某一个坐标位置
图片转载于互联网
(2)海龟坐标
海龟当前的行进方向叫前进方向,反方向叫后退方向,左侧叫左侧方向,右侧叫右侧方向
控制海龟的函数turtle.fd(d) 指的是向海龟的正前方向运行
turtle.bk(d) 指的是向海龟的反方向运行
turtle.circle(r,angle) 指的是以海龟当前位置左侧的某一个点为圆心进行曲线运行
图片转载于互联网
图片转载于互联网
(1)绝对角度的坐标体系如图
turtle.seth(angle)改变当前海龟的行进角度,只改变方向但不行进,angle为绝对度数
(2)海龟角度:
turtle.left(angle)和turtle.right(angle)两个函数分别向左和向右改变方向。
(1)RGB指红蓝绿三个通道的颜色组合,RGB每色取值范围0-255整数或0-1小数
(2)turtle库默认用RGB的小数值来表示颜色,可以用turtle.colormode(mode)函数来切换为整数值
turtle.colormode(1.0):RGB小数值模式
turtle.colormode(255):RGB整数值模式
(1)import的更多用法一:
使用from和import保留字共同完成:from<库名>import<函数名> 或from<库名>import*
下面对文章刚开始放的蟒蛇代码进行改造:
# turtle
#e2.2DrawPython.py
from turtle import *
setup(650, 350, 200, 200)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("purple")
seth(-40)
for i in range(4):
circle(40, 80)
circle(-40, 80)
circle(40, 80/2)
fd(40)
circle(16, 180)
fd(40 * 2/3)
done()
缺点:可能会与用户自定义的函数名出现重名问题
用法二:使用import和as保留字共同完成
import<库名>as<库别名> (也就是起个小名)
下面对文章刚开始放的蟒蛇代码再进行一次改造:
# turtle
#e2.2DrawPython.py
import turtle as t
t.setup(650, 350, 200, 200)
t.penup()
t.fd(-250)
t.pendown()
pensize(25)
t.pencolor("purple")
t.seth(-40)
for i in range(4):
t.circle(40, 80)
t.circle(-40, 80)
t.circle(40, 80/2)
t.fd(40)
t.circle(16, 180)
t.fd(40 * 2/3)
t.done()
画笔操作后一直有效,一般成对出现
(1)turtle.penup() 别名turtle.pu() 抬起画笔,海龟在飞行
(2)turtle.pendown()别名turtle.pd()落下画笔,海龟在爬行
(3)turtle.pensize(width) 别名turtle.width(width)设置画笔宽度
(4)turtle.pencolor(color) color为颜色字符串或r,g,b值 修改画笔颜色
pencolor(color) 的color参数有三种形式:
-颜色字符串:turtle.pencolor("purple")
-RGB的小数值:turtle.pencolor(0.63,0.13,0.94)
-RGB的元组值:turtle.pencolor((0.63,0.13,0.94))
控制海龟行进:走直线和走曲线
-turtle.forward(d) 别名turtle.fd(d) 向前行进,海龟走直线,行进距离可以是负数
-turtle.circle(r,extent=None) 根据半径r绘制extent角度的弧形
r:默认圆心在海龟左侧r距离的位置
extent:绘制角度,默认是360度整圆
控制海龟面对方向:绝对角度、海龟角度
-绝对角度:turtle.setheading(angle) 别名turtle.seth(angle)
-海龟角度:turtle.left(angle)和turtle.right(angle)两个函数分别向左和向右改变方向。
(1)for<变量>in range(<参数>)
<被循环执行的语句>
-<变量>表示每次循环的计数,0到<次数>-1
(2)range()函数是产生循环计数序列的函数
-range(N) 产生0到N-1的整数序列,共N个
-range(M,N)产生M到N-1的整数序列,共N-M个
补充:turtle.done()函数作用:如果是一个文件式描写方法,程序运行之后,程序不会退出,需要手动关闭窗体退出。