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() 指数运算

    python 复制代码
    import math
    result = math.pow(2, 3) # 2 的 3 次方
  • math.sqrt() 计算一个数字的平方根

    python 复制代码
    import math
    result = math.sqrt(8)
  • math.ceil() 向上取整

    python 复制代码
    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)

python 复制代码
import random
num1 = random.random()

2、random.randint() 随机生成指定范围的整数

在 () 中需要指定两个数字

python 复制代码
import random
num1 = random.randint(10, 50)

3、random.uniform() 随机生成指定范围的浮点数

在 () 中需要指定两个整数

python 复制代码
import random
num1 = random.uniform(10, 50)

4、random.choice() 从序列中获取随机元素

python 复制代码
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 加密

可以交任意长度的数据加密并压缩成固定长度的数据值,该加密技术属于单向加密

python 复制代码
import hashlib
msg = 'abcdefg'
md5_info = hashlib.md5(msg.encode())
encryption = md5_info.hexdigest()

2、SHA 加密

通过散列哈希函数进行数据加密。

SHA-1 会产生 160 位的报文摘要并输出

python 复制代码
import hashlib
msg = 'abcdefghij'
sha_info = hashlib.sha1(msg.encode())
encryption = sha_info.hexdigest()
相关推荐
PFFstronger1 分钟前
基于 Dify 知识库 + Ollama 大模型,自动生成测试用例并导出 XMind 的完整方案
人工智能·python·测试用例·xmind
zhangrelay11 分钟前
答疑-是否软件源问题都必须更换为国内呢-
linux·笔记·学习·ubuntu·ros2
zhangrelay16 分钟前
《ROS 机器人程序设计》课程教学大纲-2026- kinetic-lyrical
linux·笔记·学习·ubuntu·机器人
SomeBottle18 分钟前
【小记】图片托管从又拍云迁移到腾讯云 EO + COS(兼容图片处理参数)
python·计算机网络·学习笔记·对象存储·cdn·折腾
具身AGI36 分钟前
物理AI人类学习路线的答案
人工智能·学习
cts6181 小时前
FDE架构师前端选型指南
python
那年窗外下的雪.1 小时前
AIDC 学习日志|第 21 天|EVPN 多归属故障演练与中断窗口定位
网络·git·学习
wuyk5551 小时前
从零吃透 MQTT 通信|第 5 章 MQTT 心跳保活机制深度优化,断线检测与智能自动重连
c语言·开发语言·stm32·学习
幼儿园蛋小黄1 小时前
基于 TCP 的嵌入式网络通信学习总结
网络协议·学习·tcp/ip
~kiss~2 小时前
大模型的四类Cache - KV, Prefix, Prompt and Semantic Caching
学习