饮水&思源

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

标准库

python计算生态 = 标准库 + 第三方库

标准库:随解释器直接安装到操作系统中的功能模块

第三方库:需要经过安装才能使用的功能模块

库Library、包Package、模块Module,统称模块

 

 

一、turtle库

turtle(海龟)库是turtle绘图体系的python实现

turtle绘图体系:1969年诞生,主要用于程序设计入门

python语言的标准库之一

入门级的图形绘制函数库

turtle的原理:

  turtle(海龟)是一种真实的存在

  有一只海龟,其实在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形

海龟由程序控制,可以变换颜色、改变宽度等

1、常用RGB色彩

英文名称 RGB整数值 RGB小数值  中文名称
white 255,255,255 1,1,1  白色
yellow 255,255,0 1,1,0  黄色
magenta 255,0,255 1,0,1  洋红
cyan 0,255,255 0,1,1  青色
blue 0,0,255 0,0,1  蓝色
black 0,0,0 0,0,0  黑色
seashell 255,245,238 1,0.96,0.93  海贝色
gold 255,215,0 1,0.84,0  金色
pink 255,192,203 1,0.75,0.80  粉红色
brown 165,42,42 0.65,0.16,0.16  棕色
purple 160,32,240 0.63,0.13,0.94  紫色
tomato 255,99,71 1,0.39,0.28  番茄色

2、turtle的RGB色彩模式

  默认采用小数值,可切换为整数值

    turtle.colormode(mode)

    1.0:RGB小数值

    255:RGB整数值模式

3、turtle库的使用

  turtle库的海龟绘图法

  turtle.setup()调整绘图窗体在电脑屏幕中的布局

  画布上以中心为原点的空间坐标系:绝对坐标&海龟坐标

  画布上以空间X轴为0度角度坐标系:绝对角度&海龟角度

  RGB色彩体系,整数值&小数值,色彩模式切换

4、turtle程序语法元素分析

4.1、库引用与import

扩充python程序功能的方式

  使用import保留字完成,采用<a>.<b>()编码风格

    import<库名>

    <库名>.<函数名>(<函数参数>)

使用from和import保留字共同完成

  from<库名>import<函数名>

  from<库名>import*

  <函数名>(<函数参数>)

两种方法比较:

使用import保留字完成,采用<a>.<b>()编码风格 使用from和import保留字共同完成

import<库名>

<库名>.<函数名>(<函数参数>)

from<库名>import<函数名>

from<库名>import*

<函数名>(<函数参数>)

-第一种方法不会出现函数重名问题

-第二种方法会出现

import更多用法:

  使用import和as保留字共同完成

  import<库名>as<库别名>

  <库别名>.<函数名>(<函数参数>)

-给调用的外部库关联一个更短、更适合自己的名字

  

4.2、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.pendcolor(0.63,0.13,0.94)

RGB的元组值:turtle.pencolor((0.63,0.13,0.94))

4.3、turtle运动控制函数

控制海龟行进:走直线&走曲线

-turtle.forward(d)  别名:turtle.fd(d)

  向前行进,海龟走直线

  d:行进距离,可以为负数

-turtle.cirle(r,extent = None)

  根据半径r绘制extent角度的弧度

  r:默认圆心在海龟左侧r距离的位置

  extent:绘制角度,默认是360度整圆

4.4、turtle方向控制函数

 控制海龟面对方向:绝对角度&海龟角度

-turtle.setheading(angle)  别名:turtle.seth(angle)

  改变行进方向,海龟走角度

  angle:改变行进方向,海龟走角度

-turtle.left(angle)  海龟向左转

-turtle.right(angle)  海龟向右转

  angle:在海龟当前行进方向上旋转的角度

 

4.5、基本循环语句

按照一定次数循环执行一组语句

  for <变量> in range(<函数名>):

    <被循环执行的语句>

-<变量>表示每次循环的计数,0到<次数>-1

示例:

for i in range(5):
    print(i)

 

for i in range(5):
    print("Hello",i)

 

>>>

0
1
2
3
4

>>>

Hello 0
Hello 1
Hello 2
Hello 3
Hello 4

range()函数

  产生循环计数序列

-range(N)  产生0到N-1的整数序列,共N个

  range(5)

  >>>0,1,2,3,4

-rangge(M,N)  产生M到N-1的整数序列,共N-M个

  range(2,5)

  >>>2,3,4

  

5、小结

-库引用:import、from...import、import...as...

-penup()、pendown()、pensize()、pencolor()

-fd()、circle()、seth()

-循环语句:for和in、range()函数

 

二、time库

time库包括三类函数

  • 时间获取:time()、ctime()、gmtime()
  • 时间格式化:strftime()、strptime()
  • 程序计时:sleep()、perf_counter()

1、时间获取

time():获取当前时间的时间戳,即计算机内部时间值,是浮点数。

>>>time.time() 
151.6939876.6022282

 

ctime():获取当前时间并已易读方式表示,返回字符串。

>>>time.ctime()
'Fri Jan 23 17:15:26 2018'

 

gmtime():获取当前时间,表示为计算机可处理的时间格式。

>>>time.gmtime()
time.struct_time(tm_year=2018,tm_mon=1,tm_mday=26,
tm_hour=4,tm_min=11,tm_sec=16,tm_wday=4,tm_yday=26,tm_isdst=0)

2、时间格式化

  将时间以合理的方式展示出来

    -格式化:类似字符串格式化,需要有展示模版

    -展示模版由特定的格式化控制符组成

    -strftime()方法

    -strptime()方法

函数  描述
strftime(tpl,ts)

tpl是格式化模版字符串,用来定义输出效果

ts是计算机内部时间类型变量

>>>t = time.gmtime()
>>>time.strftime("%Y-%m-%d %H:%M:%S",t)
'2018-05-23 17:48:20'

 

strfptime(str,tpl)

 

tpl是格式化模版字符串,用来定义输出效果

 

str是计算机内部时间类型变量

 

>>>timeStr = '2018-05-23 20:29:20'
>>>time.strptime(timeStr,"%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2018,tm_mon=1,
tm_mday=26,tm_hour=4,tm_min=11,tm_sec=16,
tm_wday=4,tm_yday=26,tm_isdst=0)
 

 

 

格式化字符串  日期/时间说明  值范围和实例
%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
%h  小时(12h制) 01~12,例如:7
%p  上/下午 AM,PM,例如:PM
%M  分钟 00~59,例如:26
%S  秒 00~59.;例如:26

3、程序计时

  程序计时指应用广泛

    -程序计时指测量起止动作所经历时间的过程

    -测量时间:perf_counter()

    -产生时间:sleep()

函数  描述
perf_counter()

 返回一个CPU级别的精准时间计数值,单位为秒

由于这个计数值起点不确定,连续调用差值才有意义

>>>start = time.perf_counter()
318.66599499718114
>>>end = time.perf_counter()
341.3965185375658
>>>end - start
22.724523540384666

 

sleep(s)

s是休眠的时间,单位是秒,可以是浮点数

>>>def wait():
       time.sleep(3.3)        
>>>wait()   #程序将等待3.3秒后再退出

 

 

 

三、random库

  random库是使用随机数的python标准库

-伪随机数:采用梅森旋转算法生成的(伪)随机序列中元素

-random库主要用于生成随机数

-使用random库:import random

1、random库函数

  random库包含两类函数,常用共8个

1.1、基本随机数函数:

函数 描述
seed(a=None)

 初始化给定的随机数种子,默认为当前系统时间

>>>random.seed(10)  #产生种子10对应的序列

random()

 生成一个[0.0,1.0)之间的随机小数

>>>random.seed()

0.5714025946899135

示例:

每次调用产生的随机数不同
设定种子后,只要后续调用的random函数顺序相同,
那么产生的随机数也是相同的
>>>import random
>>>random.seed(10)
>>>random.random()
0.4288890546751146
>>>random.random()
0.5780913011344704

 

>>>import random
>>>random.seed(10)
>>>random.random()
0.4288890546751146
>>>random.seed(10)
>>>random.random()
0.4288890546751146

 

 

1.2、扩展随机数函数:

函数  描述
random(a,b)

 生成一个[a,b]之间的整数

>>>random.randint(10,100)

65

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.0996321648808136

choice(seq)

从序列seq中随机选择一个元素

>>>random.choice([1,2,3,4,5,6,7,8,9])

8

shuffle(seq)

将序列seq中元素随机排列,返回打乱后的序列

import random
s=[1,2,3,4,5,6,7,8,9];
random.shuffle(s)
print(s)
>>>[8, 7, 9, 4, 2, 5, 1, 6, 3]

 

2、小结

  • 能够利用随机数种子产生"确定"伪随机数
  • 能够产生随机整数
  • 能够对序列类型进行随机操作

 四、PyInstaller库

将.py源代码转换无需源代码的可执行文件

PyInstaller库是第三方库

  • 官方网站:http://www.pyinstaller.org
  • 第三方库:使用前需要额外安装
  • 安装第三方库需要使用pip工具

1、PyInstaller库的安装

(cmd命令行)pipinstall pyinstaller

2、PyInstaller库的使用

(cmd命令行)pyinstaller -F <文件名.py>

3、PyInstaller库常用参数

参数 描述
-h 查看帮助
--clean 清理打包过程中的临时文件
-D,--onedir 默认值,生成dist文件夹
-F,--onefile 在dist文件夹中只生成独立的打包文件
-i <图标文件名.ico> 指定打包程序使用的图标(icon)文件

 

posted on 2018-06-12 14:50  饮水&思源  阅读(295)  评论(0编辑  收藏  举报