python解包用法详解

 更新时间:2021年02月17日 14:53:06   作者:小妮浅浅  
在本篇文章里小编给大家整理的是关于python解包用法详解内容,有需要的朋友们可以跟着一起学习下。

对于一堆资料,我们可以把它分给不同的人使用,这个分散的过程,我们可以看成是解包方法是实现。当然实际python解包的使用会相对复杂一点,我们会对常见的列表、函数等进行操作。下面我们就Python解包的使用进行说明,然后带来两种解包方法的详解,大家一起往下看。

1、使用说明

(1)解包的意义就是将传递给函数的一个列表,元组,字典,拆分成独立的多个元素然后赋值给函数中的形参变量。

(2)解包字典有两种解法,一种用*解的只有key,一种用**解的有key、value。但是这个方法**只能在函数定义中使用。

2、*方法

字典解包后,只会把字典的key取出来,value 则丢掉了。

(1)列表解包

a, b, c = [1, 2, 3]
print(a, b, c)
# 1 2 3

(2)元祖解包

a, b, c = (1, 2, 3)
print(a, b, c)
# 1 2 3

(3)字符串解包

a, b, c = "abc"
print(a, b, c)
# a b c

(4)字典解包

a, b, c = {"a": 1, "b": 2, "c": 3}
print(a, b, c)
# a b c

接收函数返回值

def test():
  return 1, 2, 3
a, b, c = test()
print(a, b, c)   # 1 2 3

3、**方法函数解包

函数的返回值是一个元组,左侧是三个变量,这样就会发生解包,a, b, c依次等于元组里的元素,函数的返回值有3个,被封包成了元组, 赋值语句的左侧不一定非得是3个变量。

def test():
  return 1, 2, 3
a, *b = test()
print(a, b)   # 1 [2, 3]

变量a赋值为1,变量b前面有一个星号,剩余的2,3 将被解包为列表。

知识点扩展:

了解解包,首先要了解什么是参数。比如我们要运行ex1.py这个文件,我们可以在命令行(徽标键+r)中输入命令“pyhton ex1.py”即可运行,但注意要先进入到py文件所在路径。其中,ex1.py便是参数。下面以一个可以接受参数的脚本为例来阐述相关知识。

from sys import argv
#import语句目的是将python功能引入脚本当中,一看“import”,就知道程序使用了哪些功能
#argv是“参数变量”的意思,这是一个非常标准的编程术语。这个变量包含了用户传递给python的参数
#用“import”导入进来的功能称为“模组(modules)”(也有人叫作“库”)。
 
script,first,second,third = argv
#上面一行作用是给argv“解包(unpack)”,即一次性将所有参数赋予变量名
#可理解为将argv中的东西解包,即将所有的参数依次赋予左边的变量名
 
print("the script is called:", script)
print("your first variable is:",first)
print("your second variable is:",second)
print("your third variable is:",third)

到此这篇关于python解包用法详解的文章就介绍到这了,更多相关python解包如何使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 什么是Python变量作用域

    什么是Python变量作用域

    在本篇文章里小编给大家整理的是关于Python变量作用域的相关知识点内容,需要的朋友们可以学习下。
    2020-06-06
  • 用Python实现校园通知更新提醒功能

    用Python实现校园通知更新提醒功能

    今天小编就为大家分享一篇用Python实现校园通知更新提醒功能,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python超有趣实例通过冒泡排序来实现LOL厄斐琉斯控枪

    Python超有趣实例通过冒泡排序来实现LOL厄斐琉斯控枪

    冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序
    2022-05-05
  • 浅谈Python Pygame图像的基本使用

    浅谈Python Pygame图像的基本使用

    今天给大家带来的是关于Python Pygame的相关知识,文章围绕着Pygame图像的基本使用展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Python二分查找+字符串模板+textwrap模块,

    Python二分查找+字符串模板+textwrap模块,

    这篇文章主要介绍了Python二分查找+字符串模板+textwrap模块,文章围绕主题展开详细内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • Python中splitlines()方法的使用简介

    Python中splitlines()方法的使用简介

    这篇文章主要介绍了Python中splitlines()方法的使用简介,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python实现的异步代理爬虫及代理池

    Python实现的异步代理爬虫及代理池

    本文主要介绍了Python实现异步代理爬虫及代理池的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • python的多重继承的理解

    python的多重继承的理解

    这篇文章主要介绍了python的多重继承的理解的相关资料,多重继承不是多容易理解,这里举例说明帮助大家学习参考,需要的朋友可以参考下
    2017-08-08
  • python 中Arduino串口传输数据到电脑并保存至excel表格

    python 中Arduino串口传输数据到电脑并保存至excel表格

    这篇文章主要介绍了python Arduino串口传输数据到电脑并保存至excel表格,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • python密码学RSA算法及秘钥创建教程

    python密码学RSA算法及秘钥创建教程

    这篇文章主要为大家介绍了python密码学RSA算法及秘钥创建教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论