Python-VBA函数之旅-tuple函数

目录

一、tuple函数的常见应用场景

二、tuple函数使用注意事项

三、如何用好tuple函数?

1、tuple函数:

1-1、Python:

1-2、VBA:

2、推荐阅读:

个人主页: https://myelsa1024.blog.csdn.net/

一、tuple函数的常见应用场景

        在Python中,tuple()函数的主要应用场景涉及需要不可变序列类型的情况,常见的应用场景有:

1、作为字典的键:由于元组是不可变的,它们可以用作字典的键;而列表由于是可变的,不能用作字典的键。

2、存储异质的元素集合:元组可以包含不同类型的元素,这使得它们成为存储异质性数据集合的理想选择。

3、返回多个值: 函数可以使用元组来返回多个值,这在许多情况下都很有用。

4、函数参数的打包和解包:元组在函数参数打包和解包方面非常有用,你可以使用`*`操作符将元组解包为函数的位置参数,或者使用`**`操作符将字典解包为函数的关键字参数,反过来,你也可以使用`*`将可迭代对象打包为元组,并作为函数参数传递。

5、元组推导式(Tuple Comprehension):虽然Python中没有直接称为“元组推导式”的语法结构,但你可以使用生成器表达式和tuple()函数来创建元组,这通常用于从其他可迭代对象生成元组。

6、表示记录或点的坐标:元组可以用来表示具有多个属性的记录或点的坐标。

7、作为命名元组:虽然这不是直接使用tuple()函数,但collections.namedtuple是一个高阶用法,它允许你创建具有名称的元组子类,这可以使元组更加易于理解和使用。

8、数据库或API交互:当与数据库或外部API交互时,经常需要以元组的形式接收或发送数据。例如,数据库查询的结果通常可以表示为元组的列表。

9、数据分析和科学计算:在数据分析、科学计算和机器学习等领域,元组经常用于表示多维数据点或向量。例如,在NumPy库中,尽管更常见的是使用NumPy数组,但元组也经常用于表示形状、索引等。

        tuple()函数虽然被称为函数,但实际上是一个不可变的序列类型,特别是在需要不可变序列或需要同时存储多个相关值的情况下,tuple()函数提供了一种从其他可迭代对象创建元组的简便方法。

二、tuple函数使用注意事项

        在Python中,tuple函数用于创建一个元组(tuple),元组是一个不可变的序列类型,可以包含任意类型的元素,并且一旦创建就不能被修改(尽管元组中的元素本身可能是可变的,比如列表或字典),使用tuple()函数时需注意以下几点:

1、元素类型:元组可以包含任何Python数据类型,包括整数、浮点数、字符串、列表、字典、元组本身等。

2、不可变性:元组一旦创建,其内容就不能被修改,这意味着你不能向元组中添加、删除或替换元素。

3、元组只有一个元素时的写法:如果你想要创建一个只包含一个元素的元组,你需要在该元素后面加上一个逗号,以区分它与括号内的普通表达式。

4、空元组:空元组可以用两个不包含任何元素的圆括号来表示。

5、性能考虑:由于元组是不可变的,它们在某些情况下可能比列表更有效率,因为它们不需要为可能的修改预留空间,然而,这也意味着在某些需要频繁修改序列的情况下,使用列表可能会更合适。

6、作为字典的键:由于元组是不可变的,它们可以作为字典的键;而列表由于是可变的,因此不能作为字典的键。

7、与list()函数的对比:tuple()和list()函数都是用于创建序列类型的,但它们的特性不同:list()创建的列表是可变的,而tuple()创建的元组是不可变的,选择使用哪个函数取决于你的具体需求。

8、解包:你可以使用多个变量来“解包”一个元组,这样每个变量都会获得元组中的一个元素。

三、如何用好tuple函数?

        要用好Python中的tuple()函数,请你遵循以下建议:

1、明确元组的用途:元组主要用于存储一组不可变的值,如果你需要存储一组值,并且这些值在程序的整个生命周期中都不会改变,那么元组是一个很好的选择。

2、使用元组作为字典的键:由于元组是不可变的,所以它们可以用作字典的键,这允许你基于多个值来索引字典。

3、利用元组的不可变性:由于元组是不可变的,它们可以作为函数的默认参数值,因为不用担心函数内部会修改它们,此外,当你想传递一组值给函数,并且不希望这些值在函数内部被修改时,元组也是一个好选择。

4、将序列转换为元组:如果你有一个列表、集合或其他可迭代对象,并且想要一个不可变的版本,你可以使用tuple()函数将其转换为元组。

5、使用元组解包:元组解包允许你将元组的元素分配给多个变量,这在处理返回多个值的函数时特别有用。

6、与列表的选择:虽然元组和列表都用于存储序列,但它们之间有一些关键差异:列表是可变的,而元组是不可变的。因此,在选择使用哪个时,请考虑是否需要修改元素?如果你不需要修改元素,并且希望提高代码的可读性和安全性(通过防止意外修改),那么元组可能是更好的选择。

7、避免不必要的元组:尽管元组在某些情况下很有用,但也要避免过度使用它们。例如,如果你只需要存储一个值,并且该值不是用作字典的键或需要不可变性的其他情况,那么使用一个简单的变量可能就足够了。

8、使用命名元组(namedtuples):在需要为元组的元素提供有意义的名称时,可以使用collections.namedtuple,命名元组允许你以更具可读性的方式访问元组的元素,而不是使用索引。

1、tuple函数:
1-1、Python:
# 1.函数:tuple
# 2.功能:用于将一个序列转换为元组
# 3.语法:tuple([iterable])
# 4.参数:iterable,表示可以转换为元组的数据
# 5.返回值:返回一个元组,若不传入任何参数,则返回一个空元组
# 6.说明:
# 6-1、iterable类型可以是range对象、字符串、列表、字典、元组或其他可迭代类型的数据;如果参数是元组,参数则会被原样返回
# 7.示例:
# 用dir()函数获取该函数内置的属性和方法
print(dir(tuple))
# ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__',
# '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__',
# '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__',
# '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

# 用help()函数获取该函数的文档信息
help(tuple)

# 应用一:作为字典的键
# 创建一个字典,其中元组作为键
my_dict = {
    (1, 2, 3): 'value1',
    ('a', 'b', 'c'): 'value2',
    (True, False, True): 'value3',
    # 注意:元组内的元素也必须是可哈希的(例如,列表就不行,因为列表是可变的)
    # 例如,下面的元组不能用作字典的键,因为它包含了一个列表
    # ((1, 2), [3, 4]): 'value_invalid'  # 这会抛出一个TypeError
}
# 访问字典中的值
print(my_dict[(1, 2, 3)])
print(my_dict[('a', 'b', 'c')])
print(my_dict[(True, False, True)])
# 尝试访问不存在的键会抛出KeyError
# print(my_dict[(4, 5, 6)])  # 这会抛出一个KeyError
# 添加一个新的键值对到字典中
my_dict[(4, 5, 6)] = 'value4'
print(my_dict[(4, 5, 6)])
# 遍历字典
for key, value in my_dict.items():
    print(f"Key: {key}, Value: {value}")
# 删除一个键值对
del my_dict[(1, 2, 3)]
print(my_dict)
# value1
# value2
# value3
# value4
# Key: (1, 2, 3), Value: value1
# Key: ('a', 'b', 'c'), Value: value2
# Key: (True, False, True), Value: value3
# Key: (4, 5, 6), Value: value4
# {('a', 'b', 'c'): 'value2', (True, False, True): 'value3', (4, 5, 6): 'value4'}

# 应用二:存储异质的元素集合
# 使用字面量创建一个包含异质元素的元组
heterogeneous_tuple = (1, 'two', 3.0, [4, 5, 6], {'seven': 7})
# 使用tuple()函数从列表或其他可迭代对象创建一个元组
heterogeneous_list = [1, 'two', 3.0, [4, 5, 6], {'seven': 7}]
heterogeneous_tuple_from_list = tuple(heterogeneous_list)
# 打印元组
print("使用字面量创建的元组:", heterogeneous_tuple)
print("从列表创建的元组:", heterogeneous_tuple_from_list)
# 访问元组中的元素
print("第一个元素(整数):", heterogeneous_tuple[0])
print("第二个元素(字符串):", heterogeneous_tuple[1])
print("第三个元素(浮点数):", heterogeneous_tuple[2])
print("第四个元素(列表):", heterogeneous_tuple[3])
print("第五个元素(字典):", heterogeneous_tuple[4])
# 尝试修改元组中的元素(将会失败,因为元组是不可变的)
# heterogeneous_tuple[0] = 2  # 这会抛出一个 TypeError
# 尝试修改元组中的列表元素(这将成功,因为列表本身是可变的)
heterogeneous_tuple[3].append(7)  # 修改元组中的列表
print("修改后的第四个元素(列表):", heterogeneous_tuple[3])
# 尝试修改元组中的字典元素(这也将成功,因为字典本身是可变的)
heterogeneous_tuple[4]['eight'] = 8
print("修改后的第五个元素(字典):", heterogeneous_tuple[4])
# 使用字面量创建的元组: (1, 'two', 3.0, [4, 5, 6], {'seven': 7})
# 从列表创建的元组: (1, 'two', 3.0, [4, 5, 6], {'seven': 7})
# 第一个元素(整数): 1
# 第二个元素(字符串): two
# 第三个元素(浮点数): 3.0
# 第四个元素(列表): [4, 5, 6]
# 第五个元素(字典): {'seven': 7}
# 修改后的第四个元素(列表): [4, 5, 6, 7]
# 修改后的第五个元素(字典): {'seven': 7, 'eight': 8}

# 应用三:返回多个值
def return_multiple_values_with_tuple():
    # 使用tuple()函数创建一个元组并返回
    return tuple([1, 'two', 3.0])
# 调用函数并解包元组
a, b, c = return_multiple_values_with_tuple()
# 打印结果
print("a:", a)
print("b:", b)
print("c:", c)
# 如果你不想解包元组,可以直接接收整个元组
result_tuple = return_multiple_values_with_tuple()
print("result_tuple:", result_tuple)
# a: 1
# b: two
# c: 3.0
# result_tuple: (1, 'two', 3.0)

# 应用四:函数参数的打包和解包
# 示例1:打包
def my_function(a, b, c):
    print(f"a: {a}, b: {b}, c: {c}")
# 使用元组字面量打包参数
params = (1, 'two', 3.0)
# 使用*操作符解包元组参数并传递给函数
my_function(*params)
# a: 1, b: two, c: 3.0

# 示例2:解包
def unpack_tuple(params):
    # 手动解包元组
    a, b, c = params
    print(f"a: {a}, b: {b}, c: {c}")
# 创建一个元组
params = (1, 'two', 3.0)
# 调用函数并传递元组
unpack_tuple(params)
# a: 1, b: two, c: 3.0

# 应用五:元组推导式
# 示例1:使用tuple()函数和生成器表达式
# 使用生成器表达式和tuple()函数创建一个元组
my_tuple = tuple(x * x for x in range(1, 8))
print(my_tuple)
# (1, 4, 9, 16, 25, 36, 49)

# 示例2:使用元组推导式
# 使用元组推导式创建一个元组
my_tuple = (x * x for x in range(1, 8))  # 注意:这里实际上是一个生成器表达式,不是元组推导式
print(tuple(my_tuple))  # 我们需要将生成器转换为元组以打印结果
# 真正的元组推导式(但这种写法在Python中并不存在,因为它会报错)
# my_tuple = (x * x for x in range(1, 4))  # 这会创建一个生成器,而不是元组
# 要得到元组,我们需要将其转换为元组,如上面的例子所示
# 但如果我们想要立即得到一个元组,我们可以使用圆括号和条件表达式(不是推导式)
my_immediate_tuple = tuple(x * x for x in [1, 2, 3, 4, 5, 6, 7])  # 这里使用了列表而不是范围,但立即转换为元组
print(my_immediate_tuple)
# (1, 4, 9, 16, 25, 36, 49)
# (1, 4, 9, 16, 25, 36, 49)

# 应用六:表示记录或点的坐标
# 示例1:二维坐标点
# 创建一个表示二维坐标点的元组
point_2d = tuple((1, 2))  # 也可以直接写为 point_2d = (1, 2)
# 访问坐标点的值
x = point_2d[0]
y = point_2d[1]
print(f"二维坐标点: ({x}, {y})")
# 二维坐标点: (1, 2)

# 示例2:三维坐标点
# 创建一个表示三维坐标点的元组
point_3d = tuple((1, 2, 3))  # 也可以直接写为 point_3d = (1, 2, 3)
# 访问坐标点的值
x = point_3d[0]
y = point_3d[1]
z = point_3d[2]
print(f"三维坐标点: ({x}, {y}, {z})")
# 三维坐标点: (1, 2, 3)

# 示例3:从列表转换为元组
# 有一个表示坐标的列表
coord_list = [4, 5, 6]
# 使用tuple()函数将列表转换为元组
point_from_list = tuple(coord_list)
# 访问坐标点的值
x = point_from_list[0]
y = point_from_list[1]
z = point_from_list[2]
print(f"从列表转换的坐标点: ({x}, {y}, {z})")
# 从列表转换的坐标点: (4, 5, 6)

# 应用七:作为命名元组
from collections import namedtuple
# 定义一个命名元组类型,用于表示一个点
Point = namedtuple('Point', ['x', 'y'])
# 创建一个命名元组实例
p = Point(1, 2)
# 访问命名元组的属性
print(p.x)  # 输出: 1
print(p.y)  # 输出: 2
# 命名元组也支持解包到单独的变量中
x, y = p
print(x)  # 输出: 1
print(y)  # 输出: 2
# 命名元组是不可变的,尝试修改属性会抛出异常
# p.x = 3  # 这会抛出一个 AttributeError
# 你可以像普通元组一样对命名元组进行迭代
for coord in p:
    print(coord)  # 输出: 1, 然后输出: 2
# 你还可以将命名元组转换为普通元组或列表
print(tuple(p))  # 输出: (1, 2)
print(list(p))  # 输出: [1, 2]
# 1
# 2
# 1
# 2
# 1
# 2
# (1, 2)
# [1, 2]

# 应用八:数据库或API交互
# 示例1:使用tuple()处理从数据库查询结果中获取的数据
import sqlite3
# 连接到SQLite数据库(仅为示例)
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT id, name FROM users")
# 从查询结果中获取所有行,每行都是一个元组(SQLite的默认行为)
rows = cursor.fetchall()
# 假设我们想将结果转换为命名元组以便于访问
from collections import namedtuple
User = namedtuple('User', ['id', 'name'])
# 使用列表推导式将普通元组转换为命名元组
users = [User(*row) for row in rows]
# 现在我们可以像访问对象属性一样访问数据
for user in users:
    print(f"ID: {user.id}, Name: {user.name}")
# 关闭数据库连接
cursor.close()
conn.close()

# 示例2:一个假设的API交互示例,其中使用tuple()打包参数
import requests
# 假设有一个API需要元组格式的参数(这在实际中很少见)
# 但为了示例,我们假设它需要一对(x, y)坐标
api_url = 'https://api.example.com/coordinates'
# 使用tuple()打包坐标
coordinates = (10, 24)
# 构造请求(但注意,大多数API会期望JSON或表单编码的数据)
# 这里我们假设API接受URL中的查询参数
response = requests.get(f'{api_url}?x={coordinates[0]}&y={coordinates[1]}')
# 处理响应...
if response.status_code == 200:
    print(response.json())
else:
    print(f"Error: {response.status_code}")

# 应用九:数据分析和科学计算
# 示例1:使用元组存储多维数据点
# 创建一个三维数据点的元组
point_3d = (1.0, 2.0, 3.0)
# 访问元组中的元素
x, y, z = point_3d
print(f"X坐标: {x}, Y坐标: {y}, Z坐标: {z}")
# X坐标: 1.0, Y坐标: 2.0, Z坐标: 3.0

# 示例2:使用元组作为字典的键(在数据分析中)
# 创建一个字典,其中元组作为键,值表示数据点的某种属性
data_points = {
    (1, 2): "A点",
    (3, 4): "B点",
    (5, 6): "C点"
}
# 访问字典中的值
print(data_points[(1, 2)])  # 输出: A点
# 遍历字典
for key, value in data_points.items():
    print(f"点 {key} 的属性是: {value}")
# A点
# 点 (1, 2) 的属性是: A点
# 点 (3, 4) 的属性是: B点
# 点 (5, 6) 的属性是: C点

# 示例3:与 NumPy 数组结合使用
import numpy as np
# 创建一个 NumPy 数组
arr = np.array([[1, 2], [3, 4], [5, 6]])
# 假设我们想找到某行或某列的最大值,并将其与索引一起存储为元组
max_values = [(np.argmax(row), np.max(row)) for row in arr]
# 打印结果
for index, value in max_values:
    print(f"在第 {index} 列的最大值是: {value}")
    # 注意:这里的索引和值是以元组形式存储的,但索引本身也可以是一个元组(对于多维数组)
# 在第 1 列的最大值是: 2
# 在第 1 列的最大值是: 4
# 在第 1 列的最大值是: 6

# 示例4:使用元组存储统计摘要
import statistics
# 假设我们有一组数据
data = [3, 5, 6, 8, 10, 10, 11, 24]
# 计算均值和标准差,并将它们存储在一个元组中
stats = (statistics.mean(data), statistics.stdev(data))
# 打印统计摘要
print(f"均值: {stats[0]}, 标准差: {stats[1]}")
# 均值: 9.625, 标准差: 6.435115716575289
1-2、VBA:
略,待后补。
2、推荐阅读:

2-1、Python-VBA函数之旅-list()函数

Python算法之旅:Algorithms

Python函数之旅:Functions

个人主页: https://myelsa1024.blog.csdn.net/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/623846.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

钡铼技术BL205模块分布式IO集成应用风电场状态监测

在风力发电这一绿色能源领域,高效、精确的状态监测对于提升风电场运维效率、保障设备安全运行至关重要。随着工业4.0和数字化转型浪潮的推进,传统的监测方式已难以满足日益增长的数据处理与分析需求。钡铼技术BL205模块的出现,为风电场状态监…

[图解]实现领域驱动设计译文暴露的问题04

0 00:00:00,960 --> 00:00:03,020 今天我们继续说一下 1 00:00:03,460 --> 00:00:05,350 实现领域驱动设计 2 00:00:05,630 --> 00:00:08,120 译文里面暴露的问题 3 00:00:10,630 --> 00:00:14,740 前面三个视频,我们提到了第①句 4 00:00:15,550 -…

【算法提升之赛事推荐】蓝桥杯没拿奖?你还有这个比赛的羊毛可以薅

目录 蓝桥算法双周赛-赛事介绍([官方连接](https://www.lanqiao.cn/oj-contest/))赛事奖励赛事概览快速上手划重点!1. 赛题解析及答疑2. 排行榜3. 基础体验 注意事项 蓝桥算法双周赛-赛事介绍(官方连接) 为了激励同学们…

Django自定义封装Response

Django自定义封装Response 目录 Django自定义封装Response定义Response类视图层示例 定义Response类 # utils/common_response.py from rest_framework.response import Response# 继承DRF的Response并重写__init__ class APIResponse(Response):def __init__(self, code100, …

排序-计数排序(Counting Sort)

计数排序(Counting Sort)是一种非比较排序算法,特别适用于一定范围内的整数排序。它的核心思想是统计每个值的出现次数,然后根据这些计数将每个元素放到其正确的位置上。计数排序的时间复杂度为O(nk),其中n是数组长度&…

ChatGPT4o免费体验?OpenAI 又在深夜放大招了!

👩🏽‍💻个人主页:阿木木AEcru 🔥 系列专栏:《Docker容器化部署系列》 《Java每日面筋》 💹每一次技术突破,都是对自我能力的挑战和超越。 目录 一、GPT4o是什么?二、官网…

LeetCode2215找出两数组的不同

题目描述 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中:answer[0] 是 nums1 中所有 不 存在于 nums2 中的 不同 整数组成的列表。answer[1] 是 nums2 中所有 不 存在于 nums1 中的 不同 整数组…

正念冥想训练内容有哪些?流静冥想

正念冥想训练内容有哪些? “我做不到感恩,总觉得满世界都是欠我的。”同学A这样说。看得出来她的无奈、无力以及无头绪感。 “我无法对父母做出感恩的祝福,从他们那里我感受不到爱,感受不到关怀,体验不到感恩。”同学…

【Java】IDEA自动生成类图和时序图

【Java】IDEA自动生成类图和时序图 idea 的强大之处在于此,它包含了很多小插件,我们不需要再次下载相关插件,只需要在idea中小小的设置一下就可以了,下面是设置方法,我用的是idea2020版本 打开设置File -> Settings->Diagr…

vue3 中 使用 antd中的select 组件的带搜索框 展开后可对选项进行筛选搜索功能

鼠标进入以后下拉显示&#xff1a; 输入字符串以后&#xff1a; 可以看出对数据进行了筛选。 具体代码&#xff1a; 结构上&#xff1a;<a-selectv-model:value"formState.formFlow"show-searchallowClearplaceholder"输入选择流程":options"op…

React Native 之 开发环境搭建(一)

1. 安装Node.js&#xff1a; Node.js是React Native开发的基础&#xff0c;因此首先需要安装Node.js。强烈建议始终选择 Node 当前的 LTS &#xff08;长期维护&#xff09;版本&#xff0c;一般是偶数版本&#xff0c;不要选择偏实验性质的奇数版本。 如果你希望更方便地管理…

【数据结构】数组循环队列的实现

队列&#xff08;Queue&#xff09;是一种特殊的线性数据结构&#xff0c;它遵循FIFO&#xff08;First In First Out&#xff0c;先入先出&#xff09;的原则。队列只允许在表的前端&#xff08;front&#xff09;进行删除操作&#xff0c;而在表的后端&#xff08;rear&#…

C++11 线程池:轻量级高并发解决方案

C11 线程池&#xff1a;轻量级高并发解决方案 线程池&#xff08;Thread Pool&#xff09;是一种线程管理的机制&#xff0c;它包含了多个预先创建的线程&#xff0c;用于执行多个任务&#xff0c;这些任务被放入任务队列中等待执行。 满足我们的生产者和消费者模型。 线程…

java面试题:判断字符串包含字母、数字、空格、符号的数量

在Java中&#xff0c;你可以使用正则表达式来检查字符串中包含多少个字母、数字、空格和符号。也可以使用基础api来实现业务逻辑&#xff0c;方法如下&#xff1a; 1 使用Character类的静态方法 以下代码定义了一个countCharacters方法&#xff0c;它遍历字符串中的每个字符&a…

戒烟网站|基于SSM+vue的戒烟网站系统的设计与实现(源码+数据库+文档)

戒烟网站 目录 基于SSM&#xff0b;vue的戒烟网站系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1网站功能模块 2管理员功能模块 3用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主…

REACT 在组件之间共享状态

有时&#xff0c;您希望两个组件的状态始终一起变化。要做到这一点&#xff0c;请从他们俩身上删除状态&#xff0c;将其移动到他们最近的共同父级&#xff0c;然后通过道具将其传递给他们。这被称为提升状态&#xff0c;这是编写 React 代码时最常见的事情之一。 举例提升状态…

从ROS到数据库:用Python将ROS话题消息保存到数据库

观前提醒&#xff1a;本博客介绍如何使用Python订阅ROS话题,并将接收到的消息保存到SQL数据库中,包括MySQL和SQL Server两种情况。 使用Python订阅ROS话题并将消息保存至MySQL数据库 下面我们将详细介绍如何使用Python订阅ROS话题&#xff0c;并将接收的数据保存到MySQL数据库…

Postman基础功能-Collection集合和批量运行

一、Collection&#xff08;集合&#xff09;介绍 当我们对一个或多个系统中的很多接口用例进行维护时&#xff0c;首先想到的就是对接口用例进行分类管理&#xff0c;同时还希望对这批接口用例做回归测试。 在 Postman 中也提供了这样一个功能&#xff0c;就是 Collec…

【网站项目】SpringBoot781乐乐农产品销售系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

上官婉儿传奇的一生(戴罪之身入宫,却深得两任君主重用)

她最初的身份是罪臣之女、官婢&#xff0c;历经三代帝王更迭&#xff0c;她顶着后妃的头衔&#xff0c;成为武则天和李显的内阁大总管&#xff0c;她是如何赢得两位帝王的信任&#xff1f; 01从官婢到女官的逆袭 公元664年&#xff0c;上官婉儿出生在唐高宗时代&#xff0c;她…