模块(module):
在python中,xxx。py就是一个模块
math 函数:该模块主要用于数学和相关计算的一个模块
属性:
pi -------------- 圆周率
e-----------------自然常数
方法:
**三角函数:sin、 cos、 tan…… **
对数 log 、log10 、lne……
ceil() ------------------向上取整
floor()------------------向下取整
fabs---------------------绝对值
sqrt ---------------------开平方
pow------------------------幂次方
round全局函数(主要用于四舍五入)
random模块
random.random() -------------------- 随机[0~1)区间
random.randint( ) --------- [a, b ]区间的随机整数
random.uniform -----------------[a, b]区间的随机数
random.choice(容器)-------------随机选择容器中一个元素
random.shuffle(容器)------------洗牌,随机打散数据
uuid模块
1、概述:
UUID是128位的全局唯一标识符,通常由32字节的字符串表示。它可以保证时间和空间的唯一性,也称为GUID,
2、实现:
UUID主要有五个算法,也就是五种方法来实现:
1、uuid1()——基于时间戳
由MAC地址、当前时间戳、随机数生成。可以保证全球范围内的唯一性,
但MAC的使用同时带来安全性问题,局域网中可以使用IP来代替MAC。
2、uuid2()——基于分布式计算环境DCE(Python中没有这个函数)
算法与uuid1相同,不同的是把时间戳的前4位置换为POSIX的UID。
实际中很少用到该方法。
3、uuid3()——基于名字的MD5散列值
通过计算名字和命名空间的MD5散列值得到,保证了同一命名空间中不同名字的唯一性,
和不同命名空间的唯一性,但同一命名空间的同一名字生成相同的uuid。
4、uuid4()——基于随机数
由伪随机数得到,有一定的重复概率,该概率可以计算出来。
5、uuid5()——基于名字的SHA-1散列值
算法与uuid3相同,不同的是使用 Secure Hash Algorithm 1 算法
os模块(模块提供了非常丰富的方法用来处理文件和目录):
curdir---------------返回当前路径,相对路径
getcwd()---------------获取绝对路径,注意返回字节
chdir(path)---------------修改当前工作空间路径
cpu_count()---------------获取当前电脑的核(线程)数量
chmod()----------------修改权限(liunx)
defpath()----------------默认查找文件路径
device_encoding-----------文件编码
getpid()-----------------获取文件进程号
getppid-------------------获取当前文件的父进程号
kill-----------------------杀死进程号
linesep-------------------获取当前系统的换行符
listdir()---------------------获取当前工作空间下的文件及文件夹,返回列表
scandir----------------------获取当前工作空间下的文件及文件夹,返回一个迭代器
mkdir----------------------创建目录,只能创建一级目录
makendirs----------------创建目录,可递归创建多级
open ---------------------打开或者创建文件
remove()----------------删除文件
removedirs()-----------------删除目录
rmdir-----------------删除目录
rename------------重命名
sep--------------------路径分隔符
stat---------------------返回文件状态
os.path模块
abspath--------------------获取绝对路径dirname + basename
altsep------------------------文件分隔符
basename------------------文件名称
dirname-------------------所属目录
exists-----------------------退出
join()--------------------------进入
几个函数的判断
split()---------------------
sys模块0
argv------------------------脚本传参
exit()-------------------------退出系统
getdefaultencoding()-----------------获取系统的默认编码
getfilesystemencoding() ------------------获取文件编码
setrecursionlimit(num) --------------------设置递归的极限值
getrecursionlimit() --------------------- 获取递归的极限值
getrefcount()----------------------------- 获取对象的引用计数
垃圾回收算法:
引用计数法:所有对象都有引用计数。给一个对象分配一个新名称,或是将其放入一个容器,都会增加该对象的引用计数
缺点:循环引用时,就无法回收内存。
时间和日期相关模块:
time模块:
asctime()----------------------返回一个日期字符串
ctime()--------------------返回一个日期字符串
gmtime()---------------------获取一个时间对象
localtime---------------------获取一个时间对象
sleep(sec)------------------休眠----从计算机元年到现在
time()-------------------------获取当前时间戳
strftime()---------------------格式化时间
strotime()---------------------将一个字符串格式时间,转化为日期对象。
detetime模块
time(hour[,minutes][,seconds]])--------------构建一个时间对象
date(year,month,day) # 构建一个日期对象
datetime子模块
astimezone(时间对象) # 返回当前时区对应的时间对象
datetime.now() # 返回当前时间对象
** ctime(时间对象) # 一个符合欧美标准的时间字符串**
time(时间对象) # 返回时间对象的时间部分
date(时间对象) # 返回时间对象的日期部分
microsecond # 微秒
日历模块(calendar)中,周一到周日用 0 到 6 表示。
、calendar。calendar(年)
hashlib 加密学:如果通过秘钥是否同一个,可以将加密算法:
对称加密:DES
非对称加密:
加密式秘钥和解秘钥并不是使用同一个rsa。生成一堆秘钥、公钥和私钥。
哈希加密(hash),散列加密
是不可逆加密、单向、结果是唯一的 : md5、shal256、shal384
hmac模块:
** import hmac
m = hmac.new(“123456”.encode(“utf-8”), “liujianhong”.encode(“utf-8”), “MD5”)
m.hexdigest()
**