品易云推流 关闭
文章详情页
文章 > Python高级 > python解包是什么?

python解包是什么?

头像

小妮浅浅

2021-03-25 09:47:338356浏览 · 0收藏 · 0评论

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、概念

解包就是把一个容器拆开、分解,在Python中的解包是自动完成的。

变量数量 = 元素数量,会进行逐一赋值。

2、注意

(1)自动解包支持一切可迭代对象

(2)python3中,支持更高级的解包操作,用星号操作使得等号左边的变量个数可以少于右边迭代对象中元素的个数。

(3)函数调用时,可以用*或者**解包可迭代对象,作为参数传递。

(4)python3.5,函数调用和表达式中可支持更多的解包操作。

3、实例

一个list是一个整体,想把list中每个元素当成个体剥离出来。

>>> name, age, date = ['Bob', 20, '2018-1-1']
>>> name
'Bob'
>>> age
20
>>> date
'2018-1-1'
2.可迭代对象都可以这样做
 
# 列表
>>> a,b,c = ['a', 'b', 'c']
>>> a
'a'
 
>>> a,b,c = enumerate(['a', 'b', 'c'])
>>> a
(0, 'a')
 
 
# 元组
>>> a,b,c = ('a', 'b', 'c')
>>> a
'a'
 
# 字典
>>> a,b,c = {'a':1, 'b':2, 'c':3}
>>> a
'a'
 
>>> a,b,c = {'a':1, 'b':2, 'c':3}.items()
>>> a
('a', 1)
 
 
# 字符串
>>> a,b,c = 'abc'
>>> a
'a'
 
# 生成器
>>> a,b,c = (x + 1 for x in range(3))
>>> a
1

以上就是python解包的基本介绍,大家在使用时,需要注意不同星号用法的区分。关于更多解包的知识点,大家可以在课后自行探索。更多Python高级指路:python高级

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图