本文承接上一篇文章 python第一周学习记录,从零开始的python程序学习。 主要是记录自己的学习进度,整个python课程持续八周左右,目前已经到达第二周。继续加油! 首先给大家看看一些同学用turtle库实现的作品。看完就很有学习动力是不是,那就一起来学习吧。
python标准库的学习
turtle海龟库(内置的图形绘制库)
import turtle # import保留字 引入一个绘图库,turtle
turtle.setup(650, 350, 200, 200) # 设置窗体的大小及位置 (宽,高,左上角的x坐标,左上角y坐标)
turtle.penup() # 抬笔
turtle.fd(-250) # 前进 -250像素
turtle.pendown() # 落笔
turtle.pensize(25) # 设置笔宽度
turtle.pencolor("purple") # 设置笔颜色
turtle.seth(-40) # 改变行进方向
for i in range(4): # for循环 四次 从零开始 0,1,2,3
turtle.circle(40, 80) # (半径, 弧度)根据半径绘制弧度(角度)的弧形 默认圆心在海龟左侧r距离的位置
turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done() # 绘制结束后不关闭窗口
运行效果:
程序中用到的语法元素
库引用与import
- import基本引用方式
import turtle # 引用turtle库,在下面编码中 可以使用库中的方法,turtle.XXX
- 使用from和import保留字共同引用
from turtle import* # 使用from保留字和import共同引入,库中方法可以直接使用,不用turtle前缀
# 例如:原本方式turtle.setup(200, 200) => 现在可用方式setup(200, 200)
缺点:这种方式使用容易导致函数重名的情况。
- 使用import 和 as保留字共同完成
import turtle as t # 使用import和as保留字共同引入,使用方式 t.XXX
turtle绘图窗体,与turtle空间坐标系
- turtle绘图窗体 turtle的一个画布空间最小单位是像素,setup不是必须的 setup(width, height, x, y) 设置窗体的大小及位置 (宽,高,左上角的x坐标,左上角y坐标) 后面两个参数可选,不写的情况如下
- turtle空间坐标系
turtle画笔控制函数
import turtle
turtle.penup() # 抬笔 别名turtle.pu()
turtle.pendown() # 落笔 别名turtle.pd()
turtle.pensize(width) # 画笔宽度,括号内跟数字 别名turtle.width(width)
turtle.pencolor(color) # 画笔颜色,括号内跟字符串颜色,或者r,g,b值 例如
turtle.pencolor("purple") # 颜色字符串
turtle.pencolor(0.63, 0.13, 0.94) # RGB的小数值
turtle.pencolor((0.63, 0.13, 0.94)) #RGB元组值
turtle运动控制函数
fd() 直线前进
circle() 曲线前进
goto(x, y) 海龟去到(x,y)坐标
- 控制海龟直线行进
import turtle
turtle.fd(d) # 完整写法turtle.forward(d),d为行进距离,可以为负数
- 控制海龟曲线行进
import turtle
turtle.circle(r, extent) # 根据半径r绘制extent角度的弧形,
# r:默认圆心在海龟左侧r距离的位置,extent:绘制角度,默认是360°整圆
- goto()
import turtle
turtle.goto(100, 100)
turtle.goto(100, -100)
turtle.goto(-100, -100)
turtle.goto(-100, 100)
turtle.goto(0, 0)
turtle方向控制函数
seth(angle) 改变海龟行进方向
left(angle) 海龟向左转
right(angle) 海龟向右转
import turtle
turtle.seth(angle) # 完整写法turtle.setheading(angle),angle:行进方向的绝对角度
基本循环语句
for 和 in 保留字 按照一定次数循环执行一组语句,<变量>表示每次循环的次数,0 => <次数>-1
for <变量> in range(<次数>):
<被循环执行的语句>
range()
range(N) # 产生0到N-1的整数序列,共N个
range(M, N) # 产生M到N-1的整数序列, 共N-M个
range(3) # 0, 1, 2
range(3, 5) # 3, 4
---未完待续