学习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。这通常用于更新资源。

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

发送一个 DELETE 请求到指定的 URL。这通常用于删除资源。

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

发送一个 HEAD 请求到指定的 URL。HEAD 请求与 GET 请求类似,但只返回响应的头部信息,不返回实际的内容。

  1. requests.patch(url, data=None, **kwargs)

发送一个 PATCH 请求到指定的 URL。PATCH 请求通常用于部分更新资源。

  1. 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则可能更为合适。

相关推荐
冷眼看人间恩怨1 分钟前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
蓝天星空11 分钟前
Python调用open ai接口
人工智能·python
jasmine s19 分钟前
Pandas
开发语言·python
郭wes代码20 分钟前
Cmd命令大全(万字详细版)
python·算法·小程序
leaf_leaves_leaf37 分钟前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零142 分钟前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
404NooFound1 小时前
Python轻量级NoSQL数据库TinyDB
开发语言·python·nosql
天天要nx1 小时前
D102【python 接口自动化学习】- pytest进阶之fixture用法
python·pytest
minstbe1 小时前
AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
人工智能·python·支持向量机
落魄实习生1 小时前
AI应用-本地模型实现AI生成PPT(简易版)
python·ai·vue·ppt