python学习-10【模块】
1、认识模块
导入模块
- 使用 import 语句
- 使用 from … import 语句
1、
import modulename [as alias]
- modulename:表示要导入的模块名
- as alias:可选参数,为模块起的别名
2、
from modulename import name
- modulename:模块名,区分大小写
- name:要导入的变量、函数、类等。(如果需要导入模块中的全部 name,可以使用 * 代替
__name__ = ‘__main__’
当一个程序文件中包含了 __name__ = ‘__main__’,表示当前文件会直接运行,且只会在该文件下运行
2、Python 标准库
sys
- sys.argv 可以从程序外部向程序中传递参数,可以获取命令行中传递的参数,并以列表的形式返回
- sys.patfrom 可以获取当前的系统平台,即当前的操作系统
- sys.exit 实现程序中途退出
- sys.path 获取模块的路径
- sys.modules 搜索导入的模块(所有加载到内存的模块都会放在 sys.modules 这个全局字典中)
- sys.modules.values() 获取模块的值
os
- os.environ.items() 获取系统环境变量
- os.path.isfile() 判断给定的路径是否为文件
math
- 圆周率 Π(math.pi)
- 自然常数(math.e)
math.pow() 指数运算
import math result = math.pow(2, 3) # 2 的 3 次方
math.sqrt() 计算一个数字的平方根
import math result = math.sqrt(8)
math.ceil() 向上取整
import math result = math.ceil(2.8) # 返回 3
math.floor() 向下取整
math.degrees() 可以将弧度转换为角度
math.radians() 可以将角度转换为弧度
计算三角函数:math.sin()、math.cos()、math.tan()(x 必须为弧度)
random
1、random.random() 随机生成 0 到 1 之间的浮点数
() 中不用指定任何数字,数的范围为(0 <= n < 1)import random num1 = random.random()
2、random.randint() 随机生成指定范围的整数
在 () 中需要指定两个数字import random num1 = random.randint(10, 50)
3、random.uniform() 随机生成指定范围的浮点数
在 () 中需要指定两个整数import random num1 = random.uniform(10, 50)
4、random.choice() 从序列中获取随机元素
import random tuple1 = (1, 2, 3, 4, 5, 6) num1 = random.choice(tuple1)
3、常用的 Python 模块
时间日期模块
1、time 模块
time() 函数可以返回当前的时间戳,返回的是浮点数
localtime() 函数将时间戳格式化为本地时间,返回的是 struct_time 对象
序号 属性 值 0 tm_year(年) 比如 2020 1 tm_mon(月) 1 到 12 2 tm_mday(日) 1 到 31 3 tm_hour(时) 0 到 23 4 tm_min(分) 0 到 59 5 tm_sec(秒) 0 到 61(60 或 61 是闰秒) 6 tm_wday(一周的第几日) 0 到 6(0 表示周一) 7 tm_yday(一年中的第几日) 1 到 366 8 tm_isdst(是否为夏令时) 有三个值 -1、0、1,默认值 - 1 表示夏令时 asctime() 用于接收时间元组并返回可读形式的时间字符串
sleep() 函数可以让程序休眠,即推迟调用线程的运行。
该函数接收秒数,表示休眠的时间time.ctime() 函数可以将一个时间戳转化为 time.asctime() 的形式
2、datetime 模块
date.MINYEAR:0001
date.MAXTEAR:9999
date() 函数返回一个包含年月日的日期
today() 获取当前的日期
strftime格式化输出日期
符号 说明 %y 表示两位数的年份(00-99) %Y 表示四位数的年份(0001-9999) %m 月份(01-12) %d 一月中的某一天(0-31) %H 小时,24小时制(0-23) %I 小时,12小时制(01-12) %M 分钟(00-59) %S 秒(00-59) %a 本地简化后的星期名称 %A 本地完整的星期名称 %b 本地简化后的月份名称 %B 本地完整的月份名称
3、calendar 模块
- month() 方法接受 4 个参数:year(must)、month(must)、w(每日宽度间隔)、I(每行的长度)
- calendar() 方法返回一个具有多行字符串格式的年历,每 3 个月 1 行
数据加密模块
1、MD5 加密
可以交任意长度的数据加密并压缩成固定长度的数据值,该加密技术属于单向加密
import hashlib msg = 'abcdefg' md5_info = hashlib.md5(msg.encode()) encryption = md5_info.hexdigest()
2、SHA 加密
通过散列哈希函数进行数据加密。
SHA-1 会产生 160 位的报文摘要并输出
import hashlib msg = 'abcdefghij' sha_info = hashlib.sha1(msg.encode()) encryption = sha_info.hexdigest()