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中的元素随机排列,返回打乱后的序列

 

案例

圆周率的计算

圆周率的近似计算公式:

 

 

 

蒙特卡罗方法:

 

 

 

-

posted @ 2020-03-16 19:08  jiamian22  阅读(417)  评论(0编辑  收藏  举报