Pytnon内置模块

python模块

常见的内置模块
一、内置模块:
|-- math
该模块主要用于数学和相关计算的一个模块
属性:
pi # 圆周率
e # 自然常数
方法:
三角函数 sin cos …
对数 log log10 …
ceil() # 向上取整
floor() # 向下取整
fabs # 绝对值
sqrt # 开平方
pow # 幂次方
|-- random
random.random() # 随机[0~1) 区间
random.randint() # [a, b] 区间的随机整数
random.uniform # [a, b] 区间的随机数
random.choice(容器) # 随机选择一个元素
random.shuffle(容器) # 洗牌,随机打散数据

|-- uuid
python的uuid模块提供UUID类和函数uuid1(), uuid3(), uuid4(), uuid5() 来生成1, 3, 4, 5各个版本的UUID ( 需要注意的是: python中没有uuid2()这个函数). 对uuid模块中最常用的几个函数总结如下:

1. uuid.uuid1([node[, clock_seq]]) : 基于时间戳

使用主机ID, ***, 和当前时间来生成UUID, 可保证全球范围的唯一性. 但由于使用该方法生成的UUID中包含有主机的网络地址, 因此可能危及隐私. 该函数有两个参数, 如果 node 参数未指定, 系统将会自动调用 getnode() 函数来获取主机的硬件地址. 如果 clock_seq 参数未指定系统会使用一个随机产生的14位***来代替.

2. uuid.uuid3(namespace, name) : 基于名字的MD5散列值

通过计算命名空间和名字的MD5散列值来生成UUID, 可以保证同一命名空间中不同名字的唯一性和不同命名空间的唯一性, 但同一命名空间的同一名字生成的UUID相同.

4. uuid.uuid4() : 基于随机数
  通过随机数来生成UUID. 使用的是伪随机数有一定的重复概率.
  5. uuid.uuid5(namespace, name) : 基于名字的SHA-1散列值
  通过计算命名空间和名字的SHA-1散列值来生成UUID, 算法与 uuid.uuid3() 相同.
|-- os
|-- os.path
|-- sys
|-- time
|-- datetime
|-- calendar
|-- hashlib
|-- hmac

sys
|-- argv # 脚本传参
|-- exit() # 退出系统
|-- getdefaultencoding() # 获取系统的默认编码
|-- getfilesystemencoding() # 获取文件编码
|-- setrecursionlimit(num) # 设置递归的极限值
|-- getrecursionlimit() # 获取递归的极限值
|-- getrefcount() # 获取对象的引用计数
二、导入模块,以模块math为例
Pytnon内置模块
三、垃圾回收算法:
引用计数法: 缺点:循环引用时,就无法回收内存

时间和日期相关模块
time
Pytnon内置模块
datetime
|-- time([hour[,minutes][,seconds]]) # 构建一个时间对象
|-- date(year,month,day) # 构建一个日期对象
|-- datetime子模块

四、datetime子模块
import datetime
datetime.datetime.xxxx()
from datetime import datetime
Pytnon内置模块
五、日历模块(calendar)导入及方法:
Calendar 是python 日历模块,此模块的函数都是日历相关的,例如打印某月的字符月历,星期之类的模块,下面剖析python Calendar 模块导入及用法。

1,python导入日历模块
Pytnon内置模块
2,日历模块的函数

calendar.firstweekday( ) 星期

calendar.leapdays(y1,y2)
Pytnon内置模块
calendar.weekday(year,month,day)

星期一是默认的每周第一天,星期天是默认的最后一天。更改设置需调用calendar.setfirstweekday()函数。