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。这通常用于更新资源。
requests.delete(url, **kwargs)
发送一个 DELETE 请求到指定的 URL。这通常用于删除资源。
requests.head(url, **kwargs)
发送一个 HEAD 请求到指定的 URL。HEAD 请求与 GET 请求类似,但只返回响应的头部信息,不返回实际的内容。
requests.patch(url, data=None, **kwargs)
发送一个 PATCH 请求到指定的 URL。PATCH 请求通常用于部分更新资源。
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
则可能更为合适。