第二章 Python基本图形绘制
2.1 实例2 "Python蟒蛇绘制"问题分析
代码如下
#PythonDraw.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,100)
turtle.fd(40*2/3)
turtle.done()
使用IDLE的文件方式
编写代码
并保存为
PythonDraw.py 文件
2.2模块1: turtle库的使用
2.2.1 turtle库概述
turtle(海龟)库是turtle绘图体系的Python实现
- turtle绘图体系:1969年诞生,主要用于程序设计入门
- Python语言的标准库之一
- 入门级的图形绘制函数库
2.2.2 标准库
Python计算生态 = 标准库 + 第三方库 - 标准库:随解释器直接安装到操作系统中的功能模块
- 第三方库:需要经过安装才能使用的功能模块
- 库Library、包Package、模块Module,统称模块
2.2.3 turtle的绘图窗体
turtle.setup(width, height, startx, starty) - setup()设置窗体大小及位置
- 4个参数中后两个可选
- setup()不是必须的
4个参数后两位若不填,则默认位于屏幕正中间
2.2.4 turtle空间坐标体系
- 画布上以中心为原点的空间坐标系: 绝对坐标&海龟坐标
2.2.5 turtle角度坐标体系 - 画布上以空间x轴为0度的角度坐标系: 绝对角度&海龟角度
2.2.6 RGB色彩体系
默认采用小数值 可切换为整数值
turtle.colormode(mode)
- 1.0:RGB小数值模式
- 255:RGB整数值模式
2.3 turtle程序语法元素分析
2.3.1 库引用与import
库引用:扩充Python程序功能的方式
- 使用import保留字完成,采用< >.< > () 编码风格
- 例:turtle.setup(100,100,50,50)
import <库名>
<库名>.<函数名>(<函数参数>)
例:import turtle
import更多用法
使用from和import保留字共同完成
from <库名> import <函数名>
from <库名> import *
<函数名>(<函数参数>)
例:from turtle import *
则只需 setup(100,100,50,50)不需前缀和点
但第一种方法不会出现函数重名问题,第二种方法则会出现
则可使用import和as保留字共同完成
import <库名> as <库别名>
<库别名>.<函数名>(<函数参数>)
给调用的外部库关联一个更短、更适合自己的名字
例:import turtle as t
t.setup(100,100,50,50)
2.3.2 turtle画笔控制函数
画笔操作后一直有效,一般成对出现
- turtle.penup() 别名 turtle.pu()
- 抬起画笔,海龟在飞行
- turtle.pendown() - 别名 turtle.pd()
- 落下画笔,海龟在爬行
画笔设置后一直有效,直至下次重新设置
- turtle.pensize(width) 别名 turtle.width(width)
- 画笔宽度,海龟的腰围
- 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))
2.3.3 turtle运动控制函数
控制海龟行进:走直线 & 走曲线
-
turtle.forward(d) 别名 turtle.fd(d)
向前行进,海龟走直线 -
d: 行进距离,可以为负数
-
turtle.circle(r, extent=None)
-
根据半径r绘制extent角度的弧形
-
r: 默认圆心在海龟左侧r距离的位置
-
extent: 绘制角度,默认是360度整圆
-
turtle.forward(d) 别名 turtle.fd(d)
向前行进,海龟走直线 -
d: 行进距离,可以为负数
2.3.4 turtle方向控制函数
控制海龟面对方向: 绝对角度 & 海龟角度
- turtle.setheading(angle) 别名 turtle.seth(angle)
改变行进方向,海龟走角度 - angle: 行进方向的绝对角度
- turtle.left(angle) 海龟向左转
- turtle.right(angle) 海龟向右转
- angle: 在海龟当前行进方向上旋转的角度
2.3.5 循环语句与range()函数
按照一定次数循环执行一组语句
for <变量> in range(<次数>):
<被循环执行的语句>
按照一定次数循环执行一组语句
<变量>表示每次循环的计数,0到<次数>-1
>>> for i in range(5):
>>> print(i)
0
1
2
3
4
- range()函数
- range(N)
产生 0 到 N-1的整数序列,共N个 - range(M,N)
产生 M 到 N-1的整数序列,共N-M个
range(5)
0, 1, 2, 3, 4
range(2, 5)
2, 3, 4
————本文整理自《Python语言程序设计》
嵩天
北京理工大学