python - 模块解析

本文介绍了Python中的模块概念,详细讲解了math模块的常用数学函数,如三角函数、对数等;random模块的随机数生成,包括随机整数、浮点数等;uuid模块的UUID生成原理及其五种实现方式;os模块的文件和目录操作,如获取当前路径、创建和删除文件等。此外,还提到了时间日期相关的time和datetime模块,以及垃圾回收算法和加密学中的哈希加密。
摘要由CSDN通过智能技术生成

模块(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()
**
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值