python的模块
模块(module):
在python中,xxx.py就是一个模块
常见的系统内置模块的使用
|-- math
|-- random
|-- uuid
|-- os
|-- sys
|-- time
|-- datetime
|-- calendar
|-- hashlib
|-- hmac
|-- base64
……
math:
该模块主要用于数学和相关计算的一个模块
属性:
pi # 圆周率
e # 自然常数
方法:
三角函数 sin cos #三角形正弦余弦
对数 log log10 … #对数
ceil() # 向上取整
floor() # 向下取整
fabs # 绝对值
sqrt # 开平方
pow # 幂次方
****round全局函数,主要用于四舍五入
random(随机函数)
random.random() # 随机[0~1) 区间
random.randint() # [a, b] 区间的随机整数
random.uniform # [a, b] 区间的随机数
random.choice(容器) # 随机选择一个元素
random.shuffle(容器) # 洗牌,随机打散数据
os:
|-- curdir # 返回当前路径,相对路径
|-- getcwd() # 获取绝对路径,注意返回字节
|-- chdir(path) # 修改当前工作空间路径
|-- cpu_count() # 获取当前电脑的核(线程)数量
|-- chmod() # 修改权限(Linux)
|-- defpath() # 默认查找文件路径
|-- device_encoding # 文件编码
|-- getpid() # 获取当前进程的编号
|-- getppid() # 获取当前进程的父进程编号
|-- kill # 杀死进程
|-- linesep # 获取当前系统的换行符
|-- listdir() # 获取当前工作空间下的文件及文件件,返回列表
|-- scandir # 获取当前工作空间下的文件及文件件,返回一个迭代器
|-- mkdir # 创建目录,只能创建一级目录
|-- makedirs() # 创建目录,可以递归创建多级
|-- open() # 打开或者创建文件
|-- remove() # 删除文件
|-- removedirs() # 删除目录
|-- rmdir # 删除目录
|-- rename # 重命名
|-- sep # 路径分隔符
|-- stat() # 返回文件状态
os.path模块
‘abspath’, ‘altsep’, ‘basename’, ‘commonpath’, ‘commonprefix’,
‘curdir’, ‘defpath’, ‘devnull’, ‘dirname’, ‘exists’, ‘expanduser’,
‘expandvars’, ‘extsep’, ‘genericpath’, ‘getatime’, ‘getctime’, ‘getmtime’,
‘getsize’, ‘isabs’, ‘isdir’, ‘isfile’, ‘islink’, ‘ismount’, ‘join’,
‘lexists’, ‘normcase’, ‘normpath’, ‘os’, ‘pardir’, ‘pathsep’, ‘realpath’,
‘relpath’, ‘samefile’, ‘sameopenfile’, ‘samestat’, ‘sep’, ‘split’,
‘splitdrive’, ‘splitext’, ‘stat’, ‘supports_unicode_filenames’, ‘sys’]
|-- abspath # 获取绝对路径 dirname + basename
|-- altsep # 文件分隔符
|-- basename # 文件名称
|-- dirname # 所属目录
|-- exists()
|-- join()
|-- 几个判断函数
|-- split()
sys
|-- argv # 脚本传参
|-- exit() # 退出系统
|-- getdefaultencoding() # 获取系统的默认编码
|-- getfilesystemencoding() # 获取文件编码
|-- setrecursionlimit(num) # 设置递归的极限值
|-- getrecursionlimit() # 获取递归的极限值
|-- getrefcount() # 获取对象的引用计数
垃圾回收算法:
引用计数法: 缺点:循环引用时,就无法回收内存
时间和日期相关模块
time
‘sleep’, ‘strftime’, ‘strptime’, ‘struct_time’, ‘thread_time’,
‘thread_time_ns’, ‘time’, ‘time_ns’, ‘timezone’, ‘tzname’]
|-- asctime() # 返回一个日期字符串
|-- ctime() # 返回一个日期字符串
|-- gmtime() # 获取一个时间对象
|-- localtime() # 获取一个时间对象
|-- time() # 获取当前时间戳
|-- sleep(sec) # 休眠
|-- strftime() # 格式化时间
|-- strptime() # 将一个字符串格式时间,转换为日期对象
datetime
|-- time([hour[,minutes][,seconds]]) # 构建一个时间对象
|-- date(year,month,day) # 构建一个日期对象
|-- datetime子模块
datetime子模块
import datetime
datetime.datetime.xxxx()
from datetime import datetime
'astimezone', 'combine', 'ctime', 'date', 'day', 'dst', 'fold',
'fromisocalendar', 'fromisoformat', 'fromordinal', 'fromtimestamp',
'hour', 'isocalendar', 'isoformat', 'isoweekday', 'max', 'microsecond',
'min', 'minute', 'month', 'now', 'replace', 'resolution', 'second',
'strftime', 'strptime', 'time', 'timestamp', 'timetuple', 'timetz',
'today', 'toordinal', 'tzinfo', 'tzname', 'utcfromtimestamp',
'utcnow', 'utcoffset', 'utctimetuple', 'weekday', 'year']
|-- astimezone(时间对象) # 返回当前时区对应的时间对象
|-- datetime.now() # 返回当前时间对象
|-- ctime(时间对象) # 一个符合欧美标准的时间字符串
|-- time(时间对象) # 返回时间对象的时间部分
|-- date(时间对象) # 返回时间对象的日期部分
|-- day
|-- now
|-- minute
|-- second
|-- microsecond # 微秒
hashlib
加密学:
如果通过秘钥是否同一个,可以将加密算法:
|-- 对称加密
DES
|-- 非对称加密
加密的秘钥和解密秘钥并不是使用同一个
rsa
生成一对秘钥,公钥和私钥
|-- 哈希加密(hash)、散列加密
不可逆加密、单向、结果是唯一的
md5
shal256
shal384
……
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201021002720941.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExOTkwNzMzNDMx,size_16,color_FFFFFF,t_70#pic_center)