一、库引用和import
库引用:是扩充python程序功能的方式
(1)使用import保留字完成库引用,在编写代码时采用<a>.<b>的编码风格
inmprt<库名> <库名>.<函数名>(<函数参数>)
(2)使用from和import保留字共同完成
from<库名>import<函数名> <函数名>(<函数参数>) #或者 from<库名>import* <函数名>(<函数参数>)
两种方法各有优缺点,第二种方法较第一种简单,但是第一种方法不会出现函数重名问题,第二种方法,如果你自定义的函数名过多或者引用了很多库,有可能造成函数名的重复,造成程序运行的不一致。
(3)使用import和as保留字共同完成库引用
import <库名> as <库别名> <库别名> . <函数名>(<函数参数>)
给调用的外部库关联一个更短、更适合自己的名字。通俗来说,给这个库起一个小名
二、turtle画笔控制函数
我们将海龟想象为画笔
画笔操作后一直有效,一般成对出现(不可能一直飞不下落)
1、turtle.penup() 别名 turtle.pu():抬起画笔,海龟在飞行
2、turtle.pendown() 别名 turtle.pd():落下画笔,海龟在爬行
画壁设置后一直有效,直至下次重新设置
3、turtle.pensize(width) 别名 turtle.width(width) :画笔宽度,海龟的腰围
4、tuetle.pencolor(color) color为颜色字符串或r,g,b值画笔颜色,海龟在涂装
pencolor(color)的color可以有三种形式
(1)颜色字符串:turtle.pencolor(“purple”)
(2)RGB的小数值:turtle.pencolor(0.63, 0.13, 0.94)
(3)RGB的元组值:turtle.pencolor((0.63, 0.13, 0.94))
三、turtle运动控制函数
控制海龟行进:走直线&走曲线
(1)turtle.forward(d) 别名 turtle.fd(d) :向前行进,海龟走直线
d:行进距离,可为负数
(2)turtle.circle(r, extent=None) :根据半径r绘制extent角度的弧形
r:默认圆心在海龟左侧r距离的位置(这个左侧方向是相对于海龟而言,不要以我们的左侧为参照)
extent:绘制角度,默认是360度整圆
四、turtle方向控制函数
控制海龟面对方向:绝对角度&海龟角度
1、turtle.setheading(angle) 别名 turtle.seth(angle) :改变行进方向,海龟走角度。但海龟行进的绝对方向并没有改变。
angle:行进方向的绝对角度
2、海龟角度
(1)turtle.left(angle):海龟向左转
(2)turtle.right(angle):海龟向右转
angle:在海龟当前行进方向上旋转的角度
五、循环语句与range()函数
1、循环语句:按照一定次数循环执行一组语句
for <变量> in range(<次数>)
<被循环执行的语句>
【<变量>:表示每次循环的计数,0到<次数>-1】
eg:
for i in range(5): print(i)
结果:
(1)range()函数:产生循环计数序列
range(N):产生0到N-1的整数序列,共N个。
range(M, N):产生M到N-1的整数序列,共N-M个
[title]六、“Python蟒蛇绘制”代码分析[/title]
import turtle #引入turtle库 turtle.setup(650, 350, 200, 200) #设置窗体的大小及位置:窗体宽650px,高350px,距离屏幕左上角的X、Y方向各200px turtle.penup() #画笔抬起 turtle.fd(-250) #海龟向反方向运行250px,但是海龟的行进方向不变 turtle.pendown() #画笔落下(相当于给海龟找了一个新的起点) turtle.pensize(25) #设置画笔大小为25px turtle.pencolor("green") #设置画笔颜色为绿色 turtle.seth(-40) #使海龟走角度,与X轴正方向夹角为-40度 for i in range(4): #i从0循环到4 turtle.circle(40, 80) #以40为半径,绘制角度为80的圆弧 turtle.circle(-40, 80) #以-40为半径,绘制角度为80的圆弧。且执行4次 turtle.circle(40, 80/2) #以40为半径,绘制角度为40的圆弧 turtle.fd(40) #向前前进40px turtle.circle(16, 180) #以16为半径,绘制一个半圆 turtle.fd(40 * 2/3) #向前进40*2/3px turtle.done()
import turtle
turtle.pensize(5)
turtle.circle(50, extent=360)
turtle.setheading(-45)
turtle.fd(200)
turtle.circle(50, extent=360)
turtle.fd(200)
turtle.circle(50, extent=360)
turtle.fd(-200)
turtle.seth(45)
turtle.fd(200)
turtle.circle(50, extent=360)