python解包概念及实例

我们把一个事物进行分解,就可以得到其中的元素。对于python中的解包来说,也是同样的使用,相信大家从名称就可以观察出来了。那么在具体的解包过程中,关于具体的操作方法想必大家还是不清楚的。下面我们就python解包的概念、注意点进行讲解,然后带来一个解包的实例。

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

知识点扩展:

解包

在英文里叫做 Unpacking,就是将容器里面的元素逐个取出来放在其它地方,好比你父母去菜市场买了一袋苹果回来分别发给家里的每个成员,这个过程就是解包。Python 中的解包是自动完成的,例如:

student = ['xiaoqiang','man','22']
name,sex,age = student
print(name,sex,age)
结果:xiaoqiang man 22

如果列表中有3个元素,那么刚好可以分配给3个变量。除了列表对象可以解包之外,任何可迭代对象都支持解包,可迭代对象包括元组、字典、集合、字符串、生成器等实现了__next__方法的一切对象。

到此这篇关于python解包概念及实例的文章就介绍到这了,更多相关python解包是什么内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 关于Python形参打包与解包小技巧分享

    Python中的函数调用与c++不同的是将this指针直接作为self当作第一个形参进行处理,从而将静态函数与实例方法的调用形式统一了起来.在实际编程过程中,可以通过传递函数的地址.函数的形参的方式将所有函数(包括静态函数.类实例函数)的调用用统一的方式表达出来,方便统一接口和抽象. 待传递的2个函数如下: class Operation: @staticmethod def close_buy(): """ :return: """ print

  • 关于Python解包知识点总结

    解包 在英文里叫做 Unpacking,就是将容器里面的元素逐个取出来放在其它地方,好比你父母去菜市场买了一袋苹果回来分别发给家里的每个成员,这个过程就是解包.Python 中的解包是自动完成的,例如: student = ['xiaoqiang','man','22'] name,sex,age = student print(name,sex,age) 结果:xiaoqiang man 22 如果列表中有3个元素,那么刚好可以分配给3个变量.除了列表对象可以解包之外,任何可迭代对象都支持解包

  • python-序列解包(对可迭代元素的快速取值方法)

    一般情况下 x,y,z = 1,2,3 print("x:",x) print("y:",y) print("z:",z) #运行结果 x: 1 y: 2 z: 3 对元祖序列解包 name = ("qiaobushi","wanglihong","leibushi") x,y,z = name print(name) print("x:",x) print(&quo

  • 对python中的装包与解包实例详解

    *args和 **kwargs是常用的两个参数 *args:用于接受多余的未命名的参数,元组类型. **kwargs:用于接受形参的命名参数,字典类型的数据. 可变参数args: def fun(n, *args): print(n) print(args) # 未拆包 print(*args) # 进行拆包 fun(1,2,3,4) 结果: 1 (2, 3, 4) 2 3 4 形参中的*args是接受数据的args,它是一个元组,把传入的数据放进args元组中. 函数中的args仍然是元组,

  • python解包用法详解

    对于一堆资料,我们可以把它分给不同的人使用,这个分散的过程,我们可以看成是解包方法是实现.当然实际python解包的使用会相对复杂一点,我们会对常见的列表.函数等进行操作.下面我们就Python解包的使用进行说明,然后带来两种解包方法的详解,大家一起往下看. 1.使用说明 (1)解包的意义就是将传递给函数的一个列表,元组,字典,拆分成独立的多个元素然后赋值给函数中的形参变量. (2)解包字典有两种解法,一种用*解的只有key,一种用**解的有key.value.但是这个方法**只能在函数定义中使

  • Python3.8对可迭代解包的改进及用法详解

    Python 3 的可迭代解包 在 PEP 3132 - Extended Iterable Unpacking 里面描述了一种对可迭代对象的解包用法,Python 3 可用: In : a, *b, c = range(5) In : a, c Out: (0, 4) In : b Out: [1, 2, 3] In : *a, = range(5) In : a Out: [0, 1, 2, 3, 4] In : for a, *b in [(1, 2, 3), (4, 5, 6, 7)]:

  • Python序列类型的打包和解包实例

    打包 如给出一系列由逗号分隔的表达式,他们将被视为一个单独元组,即使没有提供封闭的圆括号 如: numbers = 1, 2, 3, 4 使numbers被赋值元组(1, 2, 3, 4) return a, b 返回元组(a, b) 解包 Python可以自动解包一个序列,润许单个标识符的一系列元素赋值给序列中的各个元素,如: a, b, c, d = range(1,5) a = 1, b = 2, c = 3, d = 4 quotient, remainder = divmod(a, b

  • python解包概念及实例

    我们把一个事物进行分解,就可以得到其中的元素.对于python中的解包来说,也是同样的使用,相信大家从名称就可以观察出来了.那么在具体的解包过程中,关于具体的操作方法想必大家还是不清楚的.下面我们就python解包的概念.注意点进行讲解,然后带来一个解包的实例. 1.概念 解包就是把一个容器拆开.分解,在Python中的解包是自动完成的. 变量数量 = 元素数量,会进行逐一赋值. 2.注意 (1)自动解包支持一切可迭代对象. (2)python3中,支持更高级的解包操作,用星号操作使得等号左边的

  • Python爬虫包BeautifulSoup学习实例(五)

    本文为大家分享了Python爬虫包BeautifulSoup学习实例,具体内容如下 BeautifulSoup 使用BeautifulSoup抓取豆瓣电影的一些信息. # -*- coding: utf-8 -*- # @Author: HaonanWu # @Date: 2016-12-24 16:18:01 # @Last Modified by: HaonanWu # @Last Modified time: 2016-12-24 17:25:33 import urllib2 impor

  • python压包的概念及实例详解

    对于一些分解后的元素,我们也是有重新归类的需要.那么我们把解包的恢复过程,叫做压包.这里要用到zip函数的方法,对元素重新进行打包处理,在之前的学习中我们已经对zip函数有所接触.下面我们就python压包的概念.方法进行介绍,然后带来相关的实例使用. 1.概念 压包是解包的逆过程,用zip函数实现. 2.方法 (1)zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象(Python3). (2)如果各个迭代器的元素个数不一致,则返回列表长

  • Python字典的概念及常见应用实例详解

    本文实例讲述了Python字典的概念及常见应用.分享给大家供大家参考,具体如下: 字典的介绍 字典的概念 字典的创建 1. 我们可以通过{}.dict()来创建字典对象. 2. 通过 zip()创建字典对象 3. 通过 fromkeys 创建值为空的字典 字典元素的访问 1. 通过 [键] 获得"值".若键不存在,则抛出异常. 2. 通过 get()方法获得"值".推荐使用.优点是:指定键不存在,返回 None:也可以设 3. 列出所有的键值对 4. 列出所有的键,

  • Python爬虫包 BeautifulSoup 递归抓取实例详解

    Python爬虫包 BeautifulSoup  递归抓取实例详解 概要: 爬虫的主要目的就是为了沿着网络抓取需要的内容.它们的本质是一种递归的过程.它们首先需要获得网页的内容,然后分析页面内容并找到另一个URL,然后获得这个URL的页面内容,不断重复这一个过程. 让我们以维基百科为一个例子. 我们想要将维基百科中凯文·贝肯词条里所有指向别的词条的链接提取出来. # -*- coding: utf-8 -*- # @Author: HaonanWu # @Date: 2016-12-25 10:

  • 用python解压分析jar包实例

    写这个玩意的背景:在u8多渠道打包里,需要分析jar包,并把里面的文件按目录和类型分别放在root和assets文件夹里,之前师兄都是手动解压,一个一个文件夹找文件,效率比较低,刚好最近手上的android项目已经做完了,就决定写一个自动化分析jar文件并复制粘贴到指定文件夹的脚本. # -*- coding: utf-8 -*- import os import shutil import zipfile count = 1 def getSumDir(): sumfilelist = os.

  • Python爬虫包 BeautifulSoup  递归抓取实例详解

    Python爬虫包 BeautifulSoup  递归抓取实例详解 概要: 爬虫的主要目的就是为了沿着网络抓取需要的内容.它们的本质是一种递归的过程.它们首先需要获得网页的内容,然后分析页面内容并找到另一个URL,然后获得这个URL的页面内容,不断重复这一个过程. 让我们以维基百科为一个例子. 我们想要将维基百科中凯文·贝肯词条里所有指向别的词条的链接提取出来. # -*- coding: utf-8 -*- # @Author: HaonanWu # @Date: 2016-12-25 10:

随机推荐