学习python笔记:10,requests,enumerate,numpy.array
requests库,
用于发送 HTTP 请求的 Python 库。
requests
是一个用于发送 HTTP 请求的 Python 库。它使得发送 HTTP 请求变得简单且人性化。以下是一些基本的 requests
函数及其用途:
requests.get(url, **kwargs)
发送一个 GET 请求到指定的 URL。
import requests | |
response = requests.get('https://www.example.com') | |
print(response.text) |
requests.post(url, data=None, json=None, **kwargs)
发送一个 POST 请求到指定的 URL。data
参数用于发送表单数据,而 json
参数用于发送 JSON 格式的数据。
import requests | |
payload = {'key1': 'value1', 'key2': 'value2'} | |
response = requests.post('https://www.example.com/post', data=payload) | |
print(response.text) |
requests.put(url, data=None, **kwargs)
发送一个 PUT 请求到指定的 URL。这通常用于更新资源。
4. requests.delete(url, **kwargs)
发送一个 DELETE 请求到指定的 URL。这通常用于删除资源。
5. requests.head(url, **kwargs)
发送一个 HEAD 请求到指定的 URL。HEAD 请求与 GET 请求类似,但只返回响应的头部信息,不返回实际的内容。
6. requests.patch(url, data=None, **kwargs)
发送一个 PATCH 请求到指定的 URL。PATCH 请求通常用于部分更新资源。
7. requests.session()
创建一个 Session
对象,用于跨多个请求保持某些参数,如 cookies 和 headers。这对于需要登录或维护会话状态的网站非常有用。
import requests | |
with requests.Session() as s: | |
s.get('https://www.example.com/login', auth=('user', 'pass')) | |
r = s.get('https://www.example.com/protected') | |
print(r.text) |
每个 requests
函数都返回一个 Response
对象,该对象包含有关响应的各种信息,如状态码、头部、内容等。你可以通过 Response
对象的各种属性(如 status_code
、headers
、text
、json()
等)来访问这些信息。
为了使用 requests
库,你需要先安装它。你可以使用 pip(Python 的包管理工具)来安装:
pip install requests |
requests 库因其简洁、易用和强大的功能而受到广大 Python 开发者的喜爱,是发送 HTTP 请求的流行选择之一。
numpy.array
numpy.array
是 NumPy(Numerical Python 的简称)库中的一个核心函数,用于创建一个多维数组对象。NumPy 是 Python 中用于数值计算的一个扩展库,它提供了大量的数学函数来对数组和矩阵进行运算。
使用 numpy.array
,你可以将 Python 中的列表、元组或其他序列类型的数据转换为 NumPy 数组,从而可以利用 NumPy 提供的各种高效和方便的数值计算功能。
下面是 numpy.array
的一些基本用法:
导入 NumPy 库
首先,你需要导入 NumPy 库:
import numpy as np |
创建一维数组
# 从 Python 列表创建一维数组 | |
list_data = [1, 2, 3, 4, 5] | |
array_1d = np.array(list_data) | |
print(array_1d) |
输出:
[1 2 3 4 5] |
创建二维数组(矩阵)
# 从 Python 列表的列表创建二维数组(矩阵) | |
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] | |
array_2d = np.array(list_of_lists) | |
print(array_2d) |
输出:
[[1 2 3] | |
[4 5 6] | |
[7 8 9]] |
指定数组的数据类型
你可以在创建数组时指定数据类型:
# 创建一个浮点型的数组 | |
float_array = np.array([1, 2, 3], dtype=float) | |
print(float_array) | |
print(float_array.dtype) # 输出数组的数据类型 |
输出:
[1. 2. 3.] | |
float64 |
数组的形状和维度
你可以使用 shape
属性查看数组的形状,使用 ndim
属性查看数组的维度数:
print(array_2d.shape) # 输出:(3, 3) | |
print(array_2d.ndim) # 输出:2,表示这是一个二维数组 |
NumPy 数组提供了很多高级的功能,比如切片、索引、广播、数学运算等,使得数值计算变得更加简单和高效。在数据分析和科学计算中,NumPy 数组是极其重要的数据结构。
NumPy库中的array
和Python的内置列表(list)
NumPy库中的array
和Python的内置列表(list)之间存在多个关键的区别。这些区别主要体现在数据类型、内存使用、运算能力以及用途等方面。
- 数据类型:
list
中的数据类型可以不同,即列表中的元素可以是任何Python对象,包括整数、浮点数、字符串、其他列表等。array
则要求所有元素的数据类型必须相同。这确保了数据的一致性和更高的运算效率。
- 内存使用:
list
在内存中存储的是数据的引用(指针),而不是数据本身。这意味着,如果你有一个包含大量对象的列表,每个对象都会单独占用内存空间,而列表本身则只是存储了指向这些对象的指针。array
在内存中存储的是实际的数据值,它通常使用连续的内存块来存储数据,这有助于减少内存碎片并提高数据访问速度。
- 运算能力:
list
不支持数学四则运算或其他复杂的数学运算。虽然可以通过循环和条件语句对列表中的元素进行运算,但这种方式通常较为低效。array
支持大量的数学运算,包括元素级的运算(如加法、乘法等)、矩阵运算(如点积、转置等)以及更复杂的线性代数运算。这使得array
成为进行科学计算、数据分析以及机器学习等任务时的理想选择。
- 功能与用途:
list
是Python中的一种通用数据结构,用于存储和处理一组有序的项目。它可以轻松地添加、删除和修改元素,并且支持各种列表操作(如排序、切片等)。array
则主要用于存储和处理数值数据,尤其是那些需要进行数学运算或科学计算的数据。由于其高效的内存使用和强大的运算能力,array
在处理大量数据时通常比list
更为高效。
总结来说,list
和array
各有其优势和应用场景。在选择使用哪种数据结构时,应根据具体的需求和任务来决定。如果需要处理的是一组有序的项目,并且需要进行频繁的修改和操作,那么list
可能是一个更好的选择。而如果需要处理的是大量的数值数据,并且需要进行复杂的数学运算或科学计算,那么array
则可能更为合适。
相关文章:
学习python笔记:10,requests,enumerate,numpy.array
requests库,用于发送 HTTP 请求的 Python 库。 requests 是一个用于发送 HTTP 请求的 Python 库。它使得发送 HTTP 请求变得简单且人性化。以下是一些基本的 requests 函数及其用途: requests.get(url, **kwargs) 发送一个 GET 请求到指定的 URL。 i…...

经典神经网络(13)GPT-1、GPT-2原理及nanoGPT源码分析(GPT-2)
经典神经网络(13)GPT-1、GPT-2原理及nanoGPT源码分析(GPT-2) 2022 年 11 月,ChatGPT 成功面世,成为历史上用户增长最快的消费者应用。与 Google、FaceBook等公司不同,OpenAI 从初代模型 GPT-1 开始,始终贯彻只有解码器࿰…...
MySQL库与表的操作
目录 一、登录并进入数据库 1、登录 2、USE 命令 检查当前数据库 二、库的操作 1、创建数据库语法 2、举例演示 3、退出 三、字符集和校对规则 1、字符集(Character Set) 2、校对集(Collation) 总结 3、操作命令 …...
TTS 语音合成技术学习
TTS 语音合成技术 TTS(Text-to-Speech,文字转语音)技术是一种能够将文字内容转换为自然语音的技术。通过 TTS,机器可以“说话”,这大大增强了人与机器之间的互动能力。无论是在语音助手、导航系统还是电子书朗读器中&…...
小公司做自动化的困境
1. 人员数量不够 非常常见的场景, 开发没几个, 凭什么测试要那么多, 假设这里面有3个测试, 是不是得有1个人会搞框架? 是不是得有2人搞功能测试, 一个人又搞框架, 有些脚本, 真来得及吗? 2. 人员基础不够 现在有的大公司, 是这样子协作的, 也就是某模块需求谁谁测试的, 那么…...

基于pytorch框架的手写数字识别(保姆级教学)
1、前言 本文基于PyTorch框架,采用CNN卷积神经网络实现MNIST手写数字识别,不仅可以在GPU上,同时也可以在CPU上运行。方便即使只有CPU的小伙伴也可以运行该模型。本博客手把手教学,如何手写网络层(3层),以及模型训练,详细介绍各参数含义与用途。 2、模型源码解读 该模型…...

注意力机制在大语言模型中的应用
在大语言模型中,注意力机制(Attention Mechanism)用于捕获输入序列中不同标记(token)之间的关系和依赖性。这种机制可以动态地调整每个标记对当前处理任务的重要性,从而提高模型的性能。具体来说࿰…...
qt 实现对字体高亮处理原理
在Qt中实现对文本的字体高亮处理,通常涉及到使用QTextDocument、QTextCharFormat和QSyntaxHighlighter。下面是一个简单的例子,演示如何为一个文本编辑器(假设是QTextEdit)添加简单的关键词高亮功能: 步骤 1: 定义关键…...

SAP中通过财务科目确定分析功能来定位解决BILLING问题实例
接用户反馈,一笔销售订单做发货后做销售发票时,没有成功过账到财务,提示财户确定错误。 这个之前可以通过VF02中点击小绿旗来重新执行过财动作,看看有没有相应日志来定位问题。本次尝试用此方法,也没有找到相关线索。 …...

充电站,正在杀死加油站
最近,深圳公布了一组数据,深圳的超级充电站数量已超过传统加油站数量,充电枪数量也已超过加油枪数量。 从全国范围看,加油站关停的速度在加快。 充电站正在杀死加油站。 加油站,未来何去何从? 01. 减少 我…...

哪个牌子的超声波清洗机好?四样超卓超声波清洗机独具特色!
眼镜是许多人日常生活中必不可少的工具,然而,相信很多人都有过清洗眼镜的烦恼。传统的清洗眼镜的方法往往不够彻底,容易留下污渍或者划伤镜片。因此,超声波洗眼镜机成为了现代人清洗眼镜的新选择。超声波洗眼镜机通过利用超声波震…...

vue3中若v-model绑定的响应字段出现三级,该如何实现rules验证规则
比如以下内容: 配置的rules内容 const rulesref({title:[{required:true,message:"请输入标题",trigger:"blur"},{max:50,message:"最大不能超过256个字",trigger:"blur"}],Category:[{required:true,message:"请选择…...

Docker-Compose一键部署项目
Docker-Compose一键部署项目 目录 Docker-Compose一键部署项目介绍部署Django项目项目目录结构 docker-compose.ymlnginx的default.conf文件后端Dockerfile文件mysql.env一键部署DNS域名解析引起的跨域问题 介绍 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的…...

【C++】相机标定源码笔记-线激光点云处理工具类
一个线激光点云处理工具类,它包含了一系列的方法用于处理和分析线激光扫描得到的点云数据。提供的功能包括: 通过文件或直接数据设置点云。计算线激光在机器人坐标系下的精度,输出内点的平均距离、最大距离、最小距离、总点数和内点数。提供了…...

解决Transformer根本缺陷,所有大模型都能获得巨大改进
即使最强大的 LLM 也难以通过 token 索引来关注句子等概念,现在有办法了。 最近两天,马斯克和 LeCun 的口水战妥妥成为大家的看点。这两位 AI 圈的名人你来我往,在推特(现为 X)上相互拆对方台。 LeCun 在宣传自家最新论…...
如何排查Java应用的死锁
排查Java应用中的死锁问题是一个复杂但重要的任务,因为死锁会导致应用程序停止响应,影响用户体验和系统稳定性。以下是一些方法和步骤,帮助你排查Java应用中的死锁。 1. 理解死锁的概念 在计算机科学中,死锁是指两个或多个线程相…...
JS面试题1
1. 延迟加载JS有哪些方式? defer: 等html全部解析完成,才会执行js代码,顺次执行js脚本 async:是和html解析同步的,不是顺次执行js脚本(当有很多个js时),是谁先加载完谁先执行。 <…...

Linux网络 - 再谈、详谈UDP和TCP协议
文章目录 前言预备netstatpidofcat /etc/services 一、UDP协议UDP协议端格式UDP的缓冲区基于UDP的应用层协议 二、TCP协议1.TCP协议段格式确认应答(ACK)机制三次握手疑问1 最后一次客户端发给服务端的ACK请求怎么保证服务端能够收到? 四次挥手疑问2 为什么挥手是四次…...

el-form重置后input无法输入问题
新增用户遇到的问题: 如果你没有为 formData 设置默认值,而只是将其初始化为空对象 {},则在打开dialog时,正常输入, formdata会变成如下 但是,打开后,直接使用 resetFields 或直接清空表单&…...

Java网络编程(JavaWeb的基础)
Java网络编程(JavaWeb的基础) 文章目录 Java网络编程(JavaWeb的基础)前言一、网络编程概述1.1 软件架构&网络基础1.2 网络通信要素:IP/端口/通信协议1.3 传输层协议:tcp/udp 二、网络编程API2.1 InetAddress类2.2 Socket类&am…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
TJCTF 2025
还以为是天津的。这个比较容易,虽然绕了点弯,可还是把CP AK了,不过我会的别人也会,还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...

算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...