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]
相关推荐
菜鸟起航ing1 分钟前
【Java面试系列】Spring Boot微服务架构下的分布式事务解决方案与性能优化详解 - 3-5年Java开发必备知识
java·spring boot·微服务·性能优化·分布式事务
小薛博客11 分钟前
架构设计之Redisson分布式锁-可重入同步锁(一)
java·redis·分布式
GISer_Jing12 分钟前
字符串操作&栈和队列
前端·javascript
黑土豆18 分钟前
TypeScript技术系列13:深入理解配置文件tsconfig.json
前端·javascript·typescript
小开不是小可爱19 分钟前
leetcode_454. 四数相加 II_java
java·数据结构·算法·leetcode
Koma-forever19 分钟前
java设计模式-原型模式
java·设计模式·原型模式
zheshiyangyang25 分钟前
JavaScript---原型和原型链
开发语言·前端·javascript
magic 24544 分钟前
MyBatis的缓存、逆向工程、使用PageHelper、使用PageHelper
java·spring·maven·mybatis
DanCheng-studio1 小时前
网安毕业设计课题思路
python·毕业设计·毕设
momo_养身版1 小时前
Browser use — 利用 AI 操作浏览器 · 原理篇
前端·openai