Python从0到POC编写--模块(三)

base64模块:

base64模块是用来对字符进行base64编码解码

这个大家应该都比较熟悉了。

常用的两个方法有 b64encode 和 b64decode

b64encode 进行base64编码

编码:

复制代码
>>> import base64
>>> string = 'hello world'
>>> r = base64.b64encode(string.encode('utf8'))
>>> print(r)
>>> # 输出 b'aGVsbG8gd29ybGQ='  b 表示 bytes 类型

进行编码时,要先进行 utf-8 编码,不然会报错。


解码:

复制代码
>>> import base64
>>> string = 'aGVsbG8gd29ybGQ='
>>> r = base64.b64decode(string)
>>> print(r)
>>> # 输出 b'hello world'

解码可以不用进行 utf-8 编码


datetime模块:

datetime 是一个操作时间的模块,

datetime模块有几个常用的类:

datetime.date 表示日期的类。常用的属性有year, month, day

datetime.time 表示时间的类。常用的属性有hour, minute, second, microsecond

datetime.datetime 表示日期时间。


date类:

表示一个日期,由年、月、日组成

year 的范围是 1, 9999

month 的范围是 1, 12 (月份是从1开始的)

day 根据给定的year, month参数来决定。 例如闰年2月份有29天


date类 一些常用的类方法与类属性:

date.today() 获取当前本地日期

date.weekday() 返回 weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推

date.isoweekday() 返回 weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;

例:

复制代码
>>> import datetime
>>> time = datetime.date.today()  #  获取当前本地日期
>>> print(time)
>>> # 输出 2019-06-09

可以使用 strftime() 来处理格式化字符

例:

复制代码
>>> import datetime
>>> time = datetime.datetime.now().strftime('%Y-%m-%d')  #  日期格式化
>>> print(time)
>>> # 输出 2019-06-09

时间日期格式化符号:

字符 功能
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)

所演示的python版本是 3.7

有些 datetime模块 函数已经取消了,

有时候可能使用 time 模块更加方便一点。


random模块:

random 随机数模块

生成随机小数,默认 0-1 之间

例如:

复制代码
>>> import random 
>>> print(random.random())  # 随机大于 0 且小于 1 之间的小数
>>> # 输出 0.07027106608172073

生成随机整数 randint():

复制代码
>>> import random 
>>> print(random.randint(1,5))  # 随机一个大于等于 1 且小于等于 5 的整数
>>> # 输出 2

随机抽取列表中的一个元素:

复制代码
>>> import random 
>>> print(random.choice(['123','abc',666,[7,7,7]]))  # 随机一个元素
>>> # 输出 123

打乱列表顺序:

复制代码
>>> import random 
>>> lis = [1,2,3,4,5,6]
>>> random.shuffle(lis)  #  打乱顺序
>>> # 输出  [6, 2, 5, 1, 3, 4]
相关推荐
用户4270276726816 分钟前
一次缓存优化:SQL 从 502 降到 5
java
2601_9628857223 分钟前
如何用 Python 做股价历史分位选股?(筛出处于历史低位的股票)
开发语言·python
默_笙23 分钟前
🚦 请三个 AI 考官给 RAG 打分:量化评估实战(下)
前端·javascript
小师兄吃牛肉24 分钟前
C语言指针进阶全解析
java·c语言·算法
倔强的石头10628 分钟前
【Linux指南】动静态库系列(十一):PLT 与延迟绑定:第一次调用动态库函数时发生了什么
linux·人工智能·python
梦帮科技32 分钟前
vLLM / TensorRT-LLM 极限推理:PagedAttention 细粒度物理页表管理与连续批处理(Continuous Batching)实战
数据结构·人工智能·分布式·python·深度学习·算法·vllm
Joy T34 分钟前
聊天系统中五大ID的演进与实战解析
java·前端·人工智能·spring·agent入门
JAVA面经实录9171 小时前
线上故障标准处理流程【完整版|面试背诵+生产落地】
java·面试·职场和发展
殷色玫瑰1 小时前
C++入门基础复习:从命名空间到引用与nullptr,一篇重新捡回C++基础
java·开发语言·c++
言乐61 小时前
Python概括后端原理
开发语言·python·django·virtualenv·pygame