Python学习笔记(二、一些标准库)
Python计算生态 = 标准库 + 第三方库
标准库:随解释器直接安装到操作系统中的功能模块
第三方库: 需要经过安装才能使用的功能模块
库Library、包Package、模块Module,统称为模块
库引用:
使用import保留字完成,采用<a>.<b>()编码风格
import <库名>
<库名>.<函数名>(<函数参数>)
使用时如果想省略库名(慎用,可能会出现函数重名问题):
针对某一函数:from <库名> import <函数名>
针对所用函数:from <库名> import *
给调用的外部库关联一个更短、更适合自己的名字:
import <库名> as <库别名>
turtle库
Python绘图Turtle库详解
turtle(海龟)库是turtle绘图体系的Python实现,是入门级的图形绘制函数库
想象有一只海龟在画布上游走,其走过的轨迹形成了绘制的图形,海龟由程序控制,可以变换颜色、改变宽度等
turtle绘图窗体布局
turtle的绘图窗体是turtle的一个画布空间,最小单位是像素
turtle.setup(width, height, startx, starty),setup()设置窗体大小及位置,它不是必须的,后两个参数可选,不选时默认在屏幕正中间
turtle空间坐标系
绝对坐标:
turtle.goto(x, y),使海龟由当前位置沿直线移动到(x, y)处
海龟坐标:
turtle.circle(r, angle)
turtle.bk(d)
turtle.fd(d)
turtle角度坐标系
绝对角度:
turtle.seth(angle) ,改变海龟行进的方向,angle为绝对度数(0~360度,可以为负)
海龟角度:
turtle.left(angle)
turtle.right(angle)
RGB色彩体系
RGB每种颜色取值范围是0~255的整数或0~1的小数
默认采用小数值,可切换为整数值
turtle.colormode(mode),mode为1.0,切换至小数值模式,mode为255,切换至整数值模式
turtle画笔控制函数
turtle.penup(),别名turtle.pu(),抬起画笔,移动时无痕迹
turtle.pendown(),别名turtle.pd(),落下画笔,移动时有痕迹
turtle.pensize(width),别名turtle.width(width),画笔宽度
turtle.pencolor(color),color为颜色字符串或r,g,b值,画笔颜色,有三种形式
- 颜色字符串:turtle.pencolor("purple")
- RGB的小数值:turtle.pencolor(0.63, 0.13, 0.94)
- RGB的元组值:turtle.pencolor( (0.63, 0.13, 0.94) )
turtle运动控制函数
控制海龟行进:走直线或走曲线,画笔设置后一直有效,直到下次重新设置
turtle.goto(x, y),使海龟由当前位置沿直线移动到绝对位置的(x, y)处
turtle.forward(d),别名turtle.fd(d),海龟向前行进距离d,d为行进距离 (可以为负值)
turtle.backward(d),别名turtle.bk(d),海龟沿着反方向运行距离d
turtle.circle(r, extent=None),根据半径r绘制extent角度的弧形,r表示默认圆心在海龟左侧r距离的位置(负值表示右侧),extent表示绘制角度,默认是360度 (整圆)
turtle方向控制函数
控制海龟面对的方向:绝对角度或海龟角度
turtle.setheading(angle),别名turtle.seth(angle) ,改变海龟行进的方向,angle为绝对度数(0~360度,可以为负)
turtle.left(angle),海龟向左转,angle表示海龟角度(在海龟当前行进方向上旋转的角度)
turtle.right(angle),海龟向右转,angle表示海龟角度(在海龟当前行进方向上旋转的角度)
其他:
turtle.done(),往往放在程序结尾,如果是文件式描写方法,程序运行之后,不会自动退出,需要手动关闭窗体退出
案例
猛蛇绘制
time库
处理时间的标准库
-计算机时间的表达
-提供获取系统时间并格式化输出功能
-提供系统级精确及时功能,用于程序性能分析
时间获取
time.time(),获取当前时间戳,即计算机内部时间值,浮点数,从1970年1月1日0:00开始的一个以秒为单位的数值
time.ctime(),获取当前的时间并以易读方式表示,返回字符串
Fri Jan 26 12:11:16 2018
time.gmtime(),获取当前的时间,表示为计算机可处理的时间格式struct_time
时间格式化
将时间以合理的方式展示出来
time.strftime(tpl, ts),tpl是格式化模板字符串,用来定义输出效果,ts是计算机内部时间类型变量,将struct_time的变量按一定格式输出
time.strptime(str, tpl),str是字符串形式的时间值,tpl是格式化模板字符串,用来定义输入效果,将一字符串按一定格式输入给struct_time的变量
程序计时
程序计时值测量起止动作所经历时间的过程
time.sleep(s),s是休眠的时间,单位是秒,可以是浮点数
time.perf_counter(),返回一个CPU级别的精确时间计数值,单位为秒,由于这个计数值起点不确定,连续调用取差值才有意义
案例
文本进度条
random库
random库是使用随机数的Python标准库
- 伪随机数:采用梅森旋转算法生成的(伪)随机序列中的元素
基本随机数函数
- 随机数种子通过梅森旋转算法可获得一个随机序列,只要种子相同,产生的随机数列完全相同
random.seed(a=None),初始化给定的随机数种子,默认为当前系统时间
random.random(),生成一个[0.0, 1.0)之间的随机小数
如果需要再现随机过程,复现程序结果,就通过seed()设置随机数种子
扩展随机数函数
random.randint(a, b),生成一个[a, b]之间的整数
random.randrange(m, n[, k]),生成一个[m, n)之间以k为步长的随机整数
random.getrandbits(k),生成一个 k bits长的随机整数
random.uniform(a, b),生成一个[a, b]之间的随机小数,精度为小数点后16位
random.choice(seq),从序列seq中随机选取一个元素
random.shuffle(seq),将序列seq中的元素随机排列,返回打乱后的序列
案例
圆周率的计算
圆周率的近似计算公式:
蒙特卡罗方法:
-