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

学习python笔记:10,requests,enumerate,numpy.array

requests库,用于发送 HTTP 请求的 Python 库。

requests 是一个用于发送 HTTP 请求的 Python 库。它使得发送 HTTP 请求变得简单且人性化。以下是一些基本的 requests 函数及其用途:

  1. requests.get(url, **kwargs)

发送一个 GET 请求到指定的 URL。

import requests
response = requests.get('https://www.example.com')
print(response.text)
  1. 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)
  1. 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_codeheaderstextjson() 等)来访问这些信息。

为了使用 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)之间存在多个关键的区别。这些区别主要体现在数据类型、内存使用、运算能力以及用途等方面。

  1. 数据类型
    • list中的数据类型可以不同,即列表中的元素可以是任何Python对象,包括整数、浮点数、字符串、其他列表等。
    • array则要求所有元素的数据类型必须相同。这确保了数据的一致性和更高的运算效率。
  2. 内存使用
    • list在内存中存储的是数据的引用(指针),而不是数据本身。这意味着,如果你有一个包含大量对象的列表,每个对象都会单独占用内存空间,而列表本身则只是存储了指向这些对象的指针。
    • array在内存中存储的是实际的数据值,它通常使用连续的内存块来存储数据,这有助于减少内存碎片并提高数据访问速度。
  3. 运算能力
    • list不支持数学四则运算或其他复杂的数学运算。虽然可以通过循环和条件语句对列表中的元素进行运算,但这种方式通常较为低效。
    • array支持大量的数学运算,包括元素级的运算(如加法、乘法等)、矩阵运算(如点积、转置等)以及更复杂的线性代数运算。这使得array成为进行科学计算、数据分析以及机器学习等任务时的理想选择。
  4. 功能与用途
    • list是Python中的一种通用数据结构,用于存储和处理一组有序的项目。它可以轻松地添加、删除和修改元素,并且支持各种列表操作(如排序、切片等)。
    • array则主要用于存储和处理数值数据,尤其是那些需要进行数学运算或科学计算的数据。由于其高效的内存使用和强大的运算能力,array在处理大量数据时通常比list更为高效。

总结来说,listarray各有其优势和应用场景。在选择使用哪种数据结构时,应根据具体的需求和任务来决定。如果需要处理的是一组有序的项目,并且需要进行频繁的修改和操作,那么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 开始,始终贯彻只有解码器&#xff0…...

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)之间的关系和依赖性。这种机制可以动态地调整每个标记对当前处理任务的重要性,从而提高模型的性能。具体来说&#xff0…...

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有哪些方式&#xff1f; defer: 等html全部解析完成&#xff0c;才会执行js代码&#xff0c;顺次执行js脚本 async&#xff1a;是和html解析同步的&#xff0c;不是顺次执行js脚本&#xff08;当有很多个js时&#xff09;&#xff0c;是谁先加载完谁先执行。 <…...

Linux网络 - 再谈、详谈UDP和TCP协议

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

el-form重置后input无法输入问题

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

Java网络编程(JavaWeb的基础)

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

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

全面解析数据库:从基础概念到前沿应用​

在数字化时代&#xff0c;数据已成为企业和社会发展的核心资产&#xff0c;而数据库作为存储、管理和处理数据的关键工具&#xff0c;在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理&#xff0c;到社交网络的用户数据存储&#xff0c;再到金融行业的交易记录处理&a…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...