1.标准库
Python计算生态 = 标准库 + 第三方库
标准库:随解释器直接安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块
库Library、包Package、模块Module,统称模块
2.turtle库概述
turtle(海龟)库是turtle绘图体系的Python实现
turtle绘图体系:1969年诞生,主要用于程序设计入门。是python语言的标准库之一,是入门级的图形绘制函数库
turtle的原理:有一只海龟,在窗体的正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以改变颜色、宽度等
2.1 turtle的绘图窗体
turtle的一个画布空间最小单位是像素
turtle的绘图窗体:turtle.setup( width, height, startx, starty )
setup()设置窗体大小及位置
4个参数的后两个可选
setup()不是必须的
2.2 turtle的空间坐标体系
turtle.go ( x , y ),窗体的正中心是( 0, 0 ),数学x-y坐标系表示各位置
2.3 turtle角度坐标体系
turtle.seth ( angle ),以窗体的正中心为中心,数学极坐标系表示角度
seth()改变海龟行进方向,seth()只改变方向但不行进
2.4 RGB色彩体系
RGB指红蓝绿三个通道的颜色组合,RGB每色取值范围0-255整数或0-1小数
turtle的色彩模式
默认采用小数值,可切换为整数值 turtle.colormode(mode)
1.0 :RGB小数值模式
255 :RGB整数值模式
3.库引用与import
3.1 库引用:扩充python程序功能的方式,使用import保留字完成,采用.()编码风格
import < 库名 >
< 库名 >.< 函数名 >(< 函数参数 >)
import 更多用法:使用 from 和 import 保留字共同完成
from< 库名 >import< 函数名 >
from< 库名 >import *
< 函数名 >(< 函数参数 >)
(会出现多个库重名问题)
import 更多用法:使用 import 和 as 保留字共同完成
import < 库名 > as < 库别名 >
< 库别名 > . < 函数名 > ( < 函数参数 > )
给调用的外部库关联一个更短的、更适合自己的名字
4.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))
5. turtle运动控制函数
控制海龟行进:走直线&走曲线
turtle.forword( d ) 别名 turtle.fd( d ) :向前行进,海龟走直线
d:行进距离,可以为负数
turtle.circle( r, extent = None) 根据半径 r 绘制 extent 角度的弧形
r: 默认圆心在海龟左侧r距离的位置
extent: 绘制角度,默认是360度整圆
6. turtle方向控制函数
控制海龟面对的方向:绝对角度&海龟角度
turtle.setheading( angle ) 别名 turtle.seth( angle ) :改变行进方向,海龟走角度
angle:行进方向的绝对角度 ( 级坐标轴 )
turtle.left( angle ) 海龟向左转
turtle.right( angle ) 海龟向右转
angle:海龟前进行进方向上旋转的角度
7.循环语句与range()函数
循环语句:按照一定次数循环执行的一组语句
for <变量> in range (<次数>):
<被循环执行的语句》
<变量>表示每次循环的计数,0 到 <次数> -1
range()函数:产生循环计数序列
range(N):产生 0 到 N-1 的整数序列,共N个
range(M,N):产生M到N-1的整数序列,共N-M个
蟒蛇绘制源代码
#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,180)
turtle.fd(40*2/3)
turtle.done()