Python基础学习(11)常用模块
文章目录
- 一、time
- 二、random
- 三、os
- 四、sys
- 五、json
- 补充1:JSON字符串
- 补充2:JSON字符串和字典的区别
- 六、hashlib
Python基础学习(1)基本知识
Python基础学习(2)序列类型方法与数据类型转换
Python基础学习(3)进阶字符串(格式化输出)
Python基础学习(4)散列类型(无序序列)
Python基础学习(5)流程控制
Python基础学习(6)函数基础与函数参数
Python基础学习(7)函数作用域与名称空间.
Python基础学习(8)函数进阶-闭包/装饰器
Python基础学习(9)迭代器/生成器
一、time
python提供的内置模块 主要提供了时间 日期
import time# 格林威尔时间戳 1970-1-1到现在的秒数
print(time.time())#用于做差#让程序进行休眠
time.sleep(2)
print('我休息了2秒钟')#获取当前的详细时间(以元组的形式)
res=time.localtime()
print(res)# 将当前的时间格式化
print(time.asctime(time.localtime()))# 获得指定的当前日期 并且格式化为字符串
# 年月日 星期几res_1 = time.strftime('%Y/%m/%d %A', time.localtime())
print(res_1)# 时分秒 上午/下午
res_2 = time.strftime('%H:%M:%S %p', time.localtime())
pri nt(res_2)
二、random
主要获得随机数的功能
可以通过随机模块 可以做一些小项目 猜拳 斗地主 验证码 抽奖等等
import random# 生成一个大于0并且小于1的随机数
a = random.random()
print(a)
print('%.1f'%a)# 获得指定范围之间的随机整数 必须是整数 第一个值要比第二值小
b = random.randint(1,10)#包括1和10
print(b)# 获得指定范围之间的随机小数 取决于四舍五入 第一个不一定要比第二个值小
c = random.uniform(2.5, 10)
print(c)
print('%.1f'%c)# 在列表里随机抽取 列表元组有序 无序类型不行
ll = [1, 2, 3, 5, 6, 8, 7, 9, 5]
d=random.choice(ll)
print(d)# 打乱列表顺序 俗称洗牌 列表可以改变
ll = [1, 2, 3, 5, 6, 8, 7, 9, 5]
random.shuffle(ll)
print(ll)
三、os
主要运行在操作系统上的相关信息
#os.system 运行cmd命令 关机 打开计算器 cmd 画图工具
os.system('start cmd') #打开cmd
os.system('start calc')#打开计算器
os.system('start osk') #打开屏幕键盘,
os.system('start mspaint') #打开画图工具#获得当前文件所在路径目录
print(os.getcwd())# 在当前路径新建文件夹 已经存在会报错
os.mkdir('text')# 删除文件夹 只能删除空白文件夹
os.rmdir('text')# 对文件进行重命名
os.rename('text','texe2')# 判断当前路径文件是否存在 返回布尔类型
print(os.path.exists('main.py'))
# 将散列的部分组成一个完整路径
# 别人给你了几个路径或者文件名
# Python_116 Day15 os模块.py
print(os.path.join('Python_116', 'Day15', 'os模块.py'))# 组成路径 并不是真实的路径后期你们可以自己组成真实存在的路径 只是说这个方法可以组成路径# 对路径去掉文件名(返回父路径)
print(os.path.dirname('Python_116\Day15\os模块'))# 对原有的路径进行重新组成(嵌套)
print(os.path.join(os.path.dirname('Python_116\Day15\os模块.py'), 'os.py'))# 去掉路径获得文件名
print(os.path.basename('Python_116\Day15\os模块.py'))
四、sys
sys 主要用于获得python解释器的相关信息
import sys#获得项目与环境位置
print(sys.path)# 获得当前文件位置
print(sys.argv)# 获取当前python版本信息
print(sys.version)# 获取当前python操作系统
print(sys.platform)
# win32架构 大部分都是win32
# 解释器 服务器基于win32
五、json
json
模块是 Python 标准库中的一个模块,用于处理 JSON(JavaScript Object Notation)数据格式。JSON 是一种轻量级的数据交换格式,常用于前后端数据传输、配置文件等场景。
json存储数据都是为序列化数据
序列化:计算机底层所识别的机器码
反序列化:我们能够看懂的数据
json
模块提供了一组函数,用于在 Python 中解析 JSON 数据(将 JSON 字符串解析为 Python 对象)和序列化 Python 对象(将 Python 对象转换为 JSON 字符串)。以下是 json
模块的几个主要功能:
- 将 Python 对象转换为 JSON 字符串:
json.dumps()
函数可以将 Python 对象(如字典、列表等)转换为对应的 JSON 格式的字符串。
import jsondata = {"name": "Alice", "age": 30}
date_2='我是好人'
json_str = json.dumps(data)
json_str_2=json.dumps(data_2)
print(json_str_2)
print(json_str)
->>"\u6211\u662f\u597d\u4eba"
->>{'name': 'Alice', 'age': 30}
- 将 JSON 字符串转换为 Python 对象:
json.loads()
函数可以将 JSON 格式的字符串转换为对应的 Python 对象(如字典、列表等)。
import jsonjson_str = '{"name": "Alice", "age": 30}'
data = json.loads(json_str)
print(data)
- 读写 JSON 文件:
json
模块还提供了json.dump()
和json.load()
函数,用于将 Python 对象写入 JSON 文件和从 JSON 文件中读取数据。
import jsondata = {"name": "Alice", "age": 30}# 写入 JSON 文件
with open("data.json", "w") as f:json.dump(data, f)# 从 JSON 文件中读取数据
with open("data.json", "r") as f:loaded_data = json.load(f)print(loaded_data)
通过 json
模块,你可以方便地在 Python 中处理 JSON 格式的数据,实现数据的序列化和反序列化,以及与其他系统进行数据交换。
补充1:JSON字符串
JSON(JavaScript Object Notation)字符串是一种轻量级的数据交换格式,通常用于在不同系统之间传输和存储数据。JSON 字符串由一系列 Unicode 字符组成,采用类似于 JavaScript 对象的语法,具有以下特点:
-
键值对形式:JSON 字符串由键值对构成,键和值之间使用冒号分隔,不同键值对之间使用逗号分隔。键必须是字符串,值可以是字符串、数字、布尔值、对象、数组或 null。
-
数据结构:JSON 字符串支持嵌套的对象和数组结构,可以构建复杂的数据结构。对象使用花括号
{}
表示,数组使用方括号[]
表示。 -
易读性:JSON 字符串具有良好的可读性,便于人类阅读和编写。通常采用缩进格式化,使数据结构更加清晰。
例如,下面是一个简单的 JSON 字符串示例:
{"name": "Alice","age": 30,"is_student": true,"courses": ["Math", "Science"],"address": {"street": "123 Main St","city": "Cityville"}
}
补充2:JSON字符串和字典的区别
JSON 字符串和 Python 字典之间有一些区别,尽管它们在表现形式上有些相似,但是在一些细节上有一些区别:
-
JSON 字符串是一种数据交换格式,而字典是 Python 中的数据结构:
- JSON 是一种独立于编程语言的数据交换格式,通常用于在不同系统之间传输数据。在 Python 中,可以使用
json
模块来处理 JSON 数据。 - 字典是 Python 中的一种数据结构,用于存储键值对。字典是 Python 的内置数据类型,用于在程序中组织和管理数据。
- JSON 是一种独立于编程语言的数据交换格式,通常用于在不同系统之间传输数据。在 Python 中,可以使用
-
JSON 字符串是文本,而字典是 Python 的数据结构:
- JSON 字符串是由文本字符组成的字符串,通常用于数据的序列化和反序列化。
- 字典是 Python 中的数据结构,具有键值对的组织形式,可以直接在 Python 中使用。
-
JSON 字符串需要遵循特定的格式,而字典在 Python 中有自己的语法:
- JSON 字符串需要遵循 JSON 标准的语法规则,如键名必须是双引号括起来的字符串。
- 字典在 Python 中使用花括号
{}
表示,键值对之间使用冒号:
分隔,不需要特定的引号。
虽然 JSON 字符串和 Python 字典在某种程度上有相似之处,但它们的用途和特性是不同的。在 Python 中,可以通过 json
模块来处理 JSON 数据,将 JSON 字符串转换为 Python 对象(如字典),或者将 Python 对象序列化为 JSON 字符串。这使得 Python 在处理跨系统数据交换时更加灵活和方便。
在 Python 中,可以使用 json
模块将 JSON 字符串解析为 Python 对象,或者将 Python 对象序列化为 JSON 字符串,方便数据的处理和交换。JSON 字符串在 Web 开发、API 接口、配置文件等领域被广泛应用,是一种通用的数据格式。
六、hashlib
哈希模块:
哈希是一种规则 可以接收一个数据 来生成一个哈希数据 作用主要是数据加密
特点:
1.传入的内容是一样 hash值也是一样
2.hash值正常情况下 破解难度较大
3.不管传的数据/文件多大多长 最后得到的哈希值长度只有32位
注册登录的原理就是用到了哈希
注册 --> 输入密码 2. 哈希加密 3.得到哈希值 4.保存哈希值
登录 --> 输入密码 2. 哈希加密 3.得到哈希值 4.匹配哈希值
wifi破解 --> 笨蛋方法,找一个密码字典(记录了很多常用的密码的文本)
拿里面的密码一个个去尝试 --> 密码简单 常见
那么我现在觉得这个密码有风险我现在就给他加了点东西 123456+‘多喝热水’
生成的哈希值就是基于123456多喝热水 生成的 而不是123456
如果你用单纯的123456来破 是破解不了的
import hashlib
a = hashlib.md5('多喝热水'.encode())#哈希算法只能接受字节序列
print(a) # 哈希对象
print(type(a))
# 现在还不算一个哈希值
# 把哈希值赋值给新的数据
# 数据分块
data_chunk1 = "Hello, "
data_chunk2 = "world!"# 逐步添加数据并更新哈希对象
a.update(data_chunk1.encode())
a.update(data_chunk2.encode())#update作用于字典
b = a.hexdigest()#转化十六机制增强可读性
print(b)
print(len(b))
<md5 _hashlib.HASH object @ 0x0000026178E28970>
<class ‘_hashlib.HASH’>
44b1ff2ece9911c1b503da6436ea0310
32
相关文章:
Python基础学习(11)常用模块
文章目录 一、time二、random三、os四、sys五、json补充1:JSON字符串补充2:JSON字符串和字典的区别 六、hashlib Python基础学习(1)基本知识 Python基础学习(2)序列类型方法与数据类型转换 Python基础学习(3)进阶字符串(格式化输出) Python基础学习(4)散…...

嵌入式学习37-TCP并发模型
TCP并发模型: 1.TCP多线程模型: 缺点: 1.创建线程会带来 资源开销 2.能够实现的 并发量 比较有限 2.IO模型: 1.阻塞IO: 没有…...

C语言字符函数和字符串函数
前言 今天这篇博客咱们一起来认识一些特殊的函数,在编程的过程中,我们经常要处理字符和字符串,为了方便字符和字符串,C语言提供了一些库函数,让我们一起看看这些函数都有什么功能吧!!࿰…...
Go语言必知必会100问题-22 空切片与nil切片有区别吗?
空切片与nil切片有区别吗? 很多开发人员经常混淆nil切片和空切片,不清楚什么时候使用空切片什么时候使用nil,而有些库函数又对这两者使用进行了区分。下面先来看看它们的定义。 空切片是length为0的切片当切片等于nil时为nil切片 下面是几种不同空切片…...

【C++进阶】C++多态概念详解
C多态概念详解 一,多态概念二,多态的定义2.1 多态构成的条件2.2 什么是虚函数2.3 虚函数的重写2.3.1 虚函数重写的特例2.3.2 override和final 2.4 重载和重写(覆盖)和重定义(隐藏)的区别 三,抽象…...

Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 2、线条平滑曲面但有间隔
环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata imp…...

前端精准测试调用链路分析
精准测试在评估需求的测试范围时,需要评估一下代码的影响范围,这个范围有两部分:一是需求直接修改的代码;二是修改代码影响到的功能模块。代码影响到的功能一般是通过调用链路分析来实现的,java和kotlin代码可以由java…...

Objective-C blocks 概要
1.block的使用 1.1什么是block? Blocks是C语言的扩充功能:带有自动变量(局部变量)的匿名函数。 “带有自动变量”在Blocks中表现为“截取自动变量" “匿名函数”就是“不带名称的函数” 块,封装了函数调用及调用…...

Linux操作系统-07-Linux安装应用
一、使用rpm安装应用(不推荐) 先下载到本地,以.rpm文件名结尾,下载完成后,再安装 rpm -qa | grep mysql #查询当前系统是否有下载过mysql包 先上传mysql的rpm安装包到linux的opt目录 安装 rpm -ivh …...
DevOps实战:Docker、Kubernetes与Jenkins的完美融合
DevOps与容器化技术:Docker、Kubernetes和Jenkins 引言 在软件开发领域,DevOps文化和容器化技术已经成为当今最热门的话题之一。DevOps的目标是缩短开发和运维之间的距离,提高软件交付的速度和质量。而容器化技术,如Docker和Kub…...

Python面向对象——程序架构
需求 创建图形管理器 -记录多种图形(圆形、矩形.) --提供计算总面积的方法, 要求:增加新图形,不影响图形管理器 测试: 创建图形管理器,存储多个图形对象。 通过图形管理器,调用计算总面积方法 思路 代码 # ------…...
springboot单体项目链路日志跟踪及接口耗时
最近接触一个新的传统项目,在联调过程中,查看日志特别不方便,既无trackId,即无接口耗时,所以写了该博客。话不多说,直接上代码 1、实体类user package com.yk.domain;import lombok.Data;@Data public class User {private Long id;private String username;private St…...

力扣hot---岛屿数量
dfs思路: 首先通过两层for循环遍历每一个点,如果这个点为0或者2(这个2是什么呢?是在遍历该点以及该点连成的这一片区域中,因为通过深度优先搜索,遍历该点就等于遍历这一片区域,遍历这篇区域中的…...

如何在Linux使用docker安装Plik并实现无公网ip上传下载内网存储的文件资源
文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默&…...
Nginx反向代理详解
1. 什么是反向代理 反向代理是一种服务器代理的方式,它代理了客户端的请求并将请求转发给后端服务器,然后将后端服务器的响应返回给客户端。在这个过程中,客户端并不直接与后端服务器通信,而是通过反向代理服务器来实现请求转发和…...

【Android】 ClassLoader 知识点提炼
1.Java中的 ClassLoader 1.1 、ClassLoader的类型 Java 中的类加载器主要有两种类型,即系统类加载器和自定义类加载器。其中系统类 加载器包括3种,分别是 Bootstrap ClassLoader、Extensions ClassLoader 和 Application ClassLoader。 1.1.1.Bootstra…...

16. C++标准库
C标准库兼容C语言标准函数库,可以在C标准库中直接使用C语言标准函数库文件,同时C标准库增加了自己的源代码文件,新增文件使用C编写,多数代码放在std命名空间中,所以连接C标准库文件后还需要 using namespace std;。 【…...

JVM内存结构介绍
1. 什么是JVM 我们都知道在 Windows 系统上一个软件包装包是 exe 后缀的,而这个软件包在苹果的 Mac OSX 系统上是无法安装的。类似地,Mac OSX 系统上软件安装包则是 dmg 后缀,同样无法在 Windows 系统上安装。 Java 代码为什么可以在 Windows…...

Linux常见指令总结
ls:显示当前目录下文件列表 常用的命令行参数: -l 显示更多的文件属性 -a 显示所有的文件/目录(包括隐藏的) -d 只显示目录 ps:参数可以叠加使用。 例如:ls -la 显示所有文件…...

Day35-Linux网络管理5
Day35-Linux网络管理5 1. 网卡配置2. DNS客户端域名解析配置3. 给网卡配多个IP4. ip地址查看和设置4.1 ifconfig命令4.2 ip命令4.3 ip命令:查看和设置网络配置4.4 ip命令帮助 5. 路由5.1 路由功能分类:5.2 查看路由:5.3 路由表:5.…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...