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]
相关推荐
循着风3 分钟前
多种二分查找
java
努力也学不会java6 分钟前
【Java并发】深入理解synchronized
java·开发语言·人工智能·juc
TDengine (老段)6 分钟前
TDengine 数学函数 CEIL 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
2401_8315017314 分钟前
Python学习之Day07-08学习(Django网页Web开发)
python·学习·django
IT_陈寒24 分钟前
Redis性能翻倍秘籍:10个99%开发者不知道的冷门配置优化技巧
前端·人工智能·后端
LB211227 分钟前
Redis 黑马skyout
java·数据库·redis
Tiny番茄29 分钟前
leetcode 3. 无重复字符的最长子串
数据结构·python·算法·leetcode
豐儀麟阁贵34 分钟前
Java知识点储备
java·开发语言
hrrrrb40 分钟前
【Spring Security】Spring Security 密码编辑器
java·hive·spring
LinXunFeng40 分钟前
Flutter - Melos Pub workspaces 实践
前端·flutter·架构