注:该学习笔记内容针对Python语言程序设计视频课,部分截图来自视频课课件,中国大学MOOC–Python语言程序设计,有兴趣的同学可自行搜索
Python--标准库
turtle库的使用
turtle库基本介绍
turtle(海龟)库是turtle绘图体系的Python实现
- turtle绘图体系: 1969年诞生,主要用于程序设计入门
- Python语言的标准库之一
- 入门级的图形绘制函数库
Python计算生态 = 标准库 + 第三方库
- 标准库:随解释器直接安装到操作系统中的功能模块
- 第三方库:需要经过安装才能使用的功能模块
- 库Library、包Package、模块Module,统称模块
turtle绘图窗体布局
- turtle的一个画布空间
- 最小单位是像素turtle的绘图窗
turtle.setup(width, height, startx, starty)
- setup()设置窗体大小及位置
- 4个参数中后两个可选
- setup()不是必须的
turtle空间坐标体系
turtle角度坐标体系
turtle.seth(angle)
- seth()改变海龟行进方向
- angle为绝对度数
- seth()只改变方向但不行进
turtle.left(angle)
turtle.right(angle)
RGB色彩体系
由三种颜色构成的万物色
- RGB指红蓝绿三个通道的颜色组合
- 覆盖视力所能感知的所有颜色
- RGB每色取值范围0-255整数或0-1小数
默认采用小数值 可切换为整数值
turtle.colormode(mode)
- 1.0: RGB小数值模式
- 255: RGB整数值模式
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))
turtle运动控制函数
控制海龟行进:走直线 & 走曲线
- turtle.forward(d) 别名 turtle.fd(d)
向前行进,海龟走直线
d: 行进距离,可以为负数 - turtle.circle(r, extent=None)
根据半径r绘制extent角度的弧形
r: 默认圆心在海龟左侧r距离的位置
extent: 绘制角度,默认是360度整圆
画笔设置后一直有效,直至下次重新设置
turtle方向控制函数
控制海龟面对方向: 绝对角度 & 海龟角度
- turtle.setheading(angle) 别名 turtle.seth(angle)
改变行进方向,海龟走角度
angle: 行进方向的绝对角度 - turtle.left(angle) 海龟向左转
- turtle.right(angle) 海龟向右转
angle: 在海龟当前行进方向上旋转的角度
random库的使用
random库是使用随机数的Python标准库
- 伪随机数: 采用梅森旋转算法生成的(伪)随机序列中元素
- random库主要用于生成随机数
- 使用random库: import random
- random库包括两类函数,常用共8个
- 基本随机数函数: seed(), random()
- 扩展随机数函数: randint(), getrandbits(), uniform()
randrange(), choice(), shuffle()
函数 | 描述 |
---|---|
randint(a, b) | 生成一个[a, b]之间的整数 >>>random.randint(10, 100) 64 |
randrange(m, n[, k]) | 生成一个[m, n)之间以k为步长的随机整数>>>random.randrange(10, 100, 10)80 |
getrandbits(k)) | 生成一个k比特长的随机整数>>>random.getrandbits(16) 37885 |
uniform(a, b) | 生成一个[a, b]之间的随机小数>>>random.uniform(10, 100)13.096321648808136 |
choice(seq) | 从序列seq中随机选择一个元素>>>random.choice([1,2,3,4,5,6,7,8,9])8 |
shuffle(seq) | 将序列seq中元素随机排列,返回打乱后的序列>>>s[1,2,3,4,5,6,7,8,9];random.shuffle(s);print(s) [3, 5, 8, 9, 6, 1, 2, 7, 4] |
- 能够利用随机数种子产生"确定"伪随机数
- 能够产生随机整数
- 能够对序列类型进行随机操作
time库的使用
time库是Python中处理时间的标准库
- 计算机时间的表达
- 提供获取系统时间并格式化输出功能
- 提供系统级精确计时功能,用于程序性能分析
import time
time.<b>()
time库包括三类函数
- 时间获取: time() ctime() gmtime()
- 时间格式化: strftime() strptime()
将时间以合理的方式展示出来
格式化:类似字符串格式化,需要有展示模板
展示模板由特定的格式化控制符组成
strftime()方法
格式化控制符
格式化字符串 | 日期/时间说明 | 值范围和实例 |
---|---|---|
%Y | 年份 | 0000~9999,例如: 1900 |
%m | 月份 | 01~12,例如: 10 |
%B | 月份名称 | January~December,例如: April |
%b | 月份名称缩写 | Jan~Dec,例如: Apr |
%d | 日期 | 01~31,例如: 25 |
%A | 星期 | Monday~Sunday,例如: Wednesday |
%a | 星期缩写 | Mon~Sun,例如: Wed |
%H | 小时(24h制) | 00~23,例如: 12 |
%I | 小时(12h制) | 01~12,例如: 7 |
%p | 上/下午 | AM, PM,例如: PM |
%M | 分钟 | 00~59,例如: 26 |
%S | 秒 | 00~59,例如: 26 |
- 程序计时: sleep(), perf_counter()
程序计时应用广泛
-程序计时指测量起止动作所经历时间的过程
-测量时间: perf_counter()
-产生时间: sleep()