当前位置: 首页 > news >正文

20. 内置模块

一、random模块

  random 模块用来创建随机数的模块。

random.random()                                 # 随机生成一个大于0且小于1之间的小数
random.randint(a, b)                            # 随机生成一个大于等于a小于等于b的随机整数
random.uniform(a, b)                            # 随机生成一个大于等于a小于等于b的随机浮点数
random.choice(seq)                              # 随机选择一个seq序列中的成员
random.sample(population, k, *, counts=None)    # 随机选择多个成员
random.shuffle(x)                               # 将序列顺序随机打乱
import randomresult = random.random()                        # 随机生成一个大于0且小于1之间的小数
print("result: ",result)result = random.randint(10,20)                  # 随机生成一个大于等于a小于等于b的随机整数
print("result: ",result)result = random.uniform(10,20)                  # 随机生成一个大于等于a小于等于b的随机浮点数
print("result: %f" %result)result = random.choice([11,22,33,44,55])        # 随机选择一个seq序列中的成员
print(f"result: {result}")result = random.sample([11,22,33,44,55],3)      # 随机选择多个成员
print(f"result: {result}")num_list = [11,22,33,44,55]
random.shuffle(num_list)                        # 将序列顺序随机打乱
print("result: {}".format(num_list))

二、hashlib模块

  hashlib 模块可以用来实现加密。

hashlib.md5(str)               # 用于实现MD5加密
import hashlibdata = "Sakura"
obj = hashlib.md5("小樱".encode("utf-8"))           # 加盐
obj.update(data.encode("utf-8"))
result = obj.hexdigest()
print(result)                                       # 密文

三、json模块

  json 本质上是一个特定结构的字符串,它用于打通不同编程语言之间相互进行通信时的数据格式问题。Python 中默认转换为 json 的类型有 字符串、数值类型、列表、元组、字典、布尔值 和 None。其中,元组转换为 json 类型 () 会变为 [],None 转换为 json 会变为 null,Flase 和 True 转换为 json 会变为 flase 和 true。

  • 序列化:将 Python 数据类型转换为 JSON 格式字符串
  • 反序列化:将 JSON 格式字符串转换为 Python 数据类型
json.dumps(obj)          # 得到json格式的字符串
json.loads(obj)          # json格式的字符串转换为字典
json.dump(obj,fp)        # 将json格式的字符串写入到文件
json.load(obj,fp)        # 将文件中的json格式的字符串转换为字典
import jsoninfo = {"name":"小樱","age":10}data_json = json.dumps(info,ensure_ascii=False,indent=4)            # 序列化
print(data_json)
print(type(data_json))data_dict = json.loads(data_json)                                   # 反序列化
print(data_dict)
print(type(data_dict))
import jsoninfo = {"name":"小樱","age":10}with open("info.json",mode="w",encoding="utf-8") as f:json.dump(info,f,ensure_ascii=False)with open("info.json",mode="r",encoding="utf-8") as f:data_dict = json.load(f)print(data_dict)

  如果我们传入其它的对象类型,可能会转换 json 格式出错,此时,我们可以显示的转换为字符串类型来解决这个问题。

import json
from datetime import datedata_list = [{"name":"Sakura","age":10,"birth":date(1986,1,1).strftime("%Y-%m-%d")},{"name":"Mikoto","age":14,"brith":date(1995,5,2).strftime("%Y-%m-%d")}
]jsoon_data = json.dumps(data_list,ensure_ascii=False)
print(jsoon_data)

  我们也可以自定义类继承 JSONEncoder 类来实现序列化。

import json
from json import JSONEncoder
from datetime import datedata_list = [{"name":"Sakura","age":10,"birth":date(1986,1,1)},{"name":"Mikoto","age":14,"brith":date(1995,5,2)}
]class MyJSONEncoder(JSONEncoder):def default(self, o):# 判断o的类型if type(o) == date:return o.strftime("%Y-%m-%d")return super().default(o)jsoon_data = json.dumps(data_list,ensure_ascii=False,cls=MyJSONEncoder)
print(jsoon_data)

四、time模块与datetime模块

time.time()                                                                                           # 获取时间戳
time.sleep(secs)                                                                                      # 睡眠secs秒
datetime.datetime.now()                                                                               # 获取当前时间
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)    # 运算加减指定时间
import timet1 = time.time()
print(t1)time.sleep(1)t2 = time.time()
print(t2-t1)
import datetimeday1 = datetime.datetime.now()
print(day1)day2 = day1 + datetime.timedelta(days=3)
print(day2)day3 = day1 + datetime.timedelta(weeks=-1)
print(day3)

【1】字符串 --> datetime 类型

from datetime import datetimetext = "1986-04-01"date = datetime.strptime(text,"%Y-%m-%d")
print(date)
print(type(date))

【2】、datetime 类型 --> 字符串

from datetime import datetimedate = datetime.now()str = date.strftime("%Y-%m-%d")
print(str)
print(type(str))

【3】、时间戳 --> datetime 类型

import time
from datetime import datetimet1 = time.time()
date = datetime.fromtimestamp(t1)
print(date)
print(type(date))

【4】、datetime 类型 --> 时间戳

from datetime import datetimedate = datetime.now()
t1 = date.timestamp()
print(t1)
print(type(t1))
http://www.lryc.cn/news/501810.html

相关文章:

  • 《知识拓展 · 统一建模语言UML》
  • 计算机网络-Wireshark探索ARP
  • 减少30%人工处理时间,AI OCR与表格识别助力医疗化验单快速处理
  • 1.2.3计算机软件
  • 二、uni-forms
  • Android13开机向导
  • 软件测试丨Appium 源码分析与定制
  • 1.网络知识-IP与子网掩码的关系及计算实例
  • Android中Gradle常用配置
  • Linux操作系统3-文件与IO操作2(文件描述符fd与文件重定向)
  • k8s调度策略
  • uniapp中父组件传参到子组件页面渲染不生效问题处理实战记录
  • 螺丝螺帽缺陷检测识别数据集,支持yolo,coco,voc三种格式的标记,一共3081张图片
  • 一个简单带颜色的Map
  • kubeadm安装K8s集群之基础环境配置
  • 前端实现在线预览excel文件
  • 关于idea-Java-servlet-Tomcat-Web开发中出现404NOT FOUND问题的解决
  • SCRM私域流量管理工具助力企业微信电商转型升级
  • 三相异步电动机为什么能够旋转?
  • 优化移动端H5:常见问题与解决方案
  • TM1不藏私系列——#10. TM1快速运算的秘密武器-Feeder
  • 【Python】【Conda 】Conda vs venv:Python开发者的虚拟环境选择指南
  • 【从0学英语】06.时态 - 一般过去时
  • 获取cpu序列号-python实现
  • 文献分享: PLAID——为ColBERT架构设计的后期交互驱动器
  • IMX6ULL开发板、PC机上的USB网卡、VMware中的Ubuntu的桥接网卡三者互Ping设置及设置
  • 孚盟云 MailAjax.ashx SQL漏洞复现
  • 前端 mp4 视频改成 m3u8 流模式
  • 聚焦港口智能接处警,开启平安海运之门
  • `yarn list --pattern element-ui` 是一个 Yarn 命令,用于列出项目中符合指定模式(`element-ui`)的依赖包信息