写点什么

软件测试学习笔记丨 Python 的自动解包 自动组包

作者:测试人
  • 2024-04-10
    北京
  • 本文字数:613 字

    阅读完需:约 2 分钟

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/30328

1.解包/拆包

解包通常指的是将可迭代对象(如列表、元组、字符串)的元素分解成独立的变量

举例:

# 解包一个列表numbers = [1, 2, 3]a, b, c = numbersprint(a)  # 输出: 1print(b)  # 输出: 2print(c)  # 输出: 3 # 解包一个元组colors = ('red', 'green', 'blue')x, y, z = colorsprint(x)  # 输出: redprint(y)  # 输出: greenprint(z)  # 输出: blue # 解包字符串,将字符串看作可迭代的s = "hello"a, b, c, d, e = sprint(a)  # 输出: hprint(b)  # 输出: e
复制代码

字典解包:解包的输出是 key(非 value)

a,b,c = {'key1': 1, 'key2': 2,'key3':3}    print(a,b,c)  # 输出 key1 key2 key3
复制代码

python3 新增特性使用*解包(1)普通赋值操作

# 使用星号表达式进行部分解包data = [1, 2, 3, 4, 5]first, *middle, last = dataprint(first)  # 输出: 1print(middle)  # 输出: [2, 3, 4]print(last)  # 输出: 5
复制代码

(2)函数解包函数参数使用*或者**解包

  • 元组、列表、字符串使用*解包

  • 字典使用**解包

def fun(a,b):        print(a,b) fun(**{'a':1,'b':2})  # 字典使用**就会自动拆解为key=value形式,fun(a=1,b=2) fun(*(1,2))
复制代码

2.组包

多个值赋值给一个变量,最后输出是一个元组(解释器自动组装)。

举例:

# 变量赋值a = 1,2,3print(a)  # 输出(1,2,3)
# 函数返回def fun(): return 1,2print(fun()) # 输出(1,2)
复制代码

软件测试开发免费视频教程分享


发布于: 2024-04-10阅读数: 3
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试学习笔记丨Python的自动解包 自动组包_Python_测试人_InfoQ写作社区