python解包用法详解


Posted in Python onFebruary 17, 2021

对于一堆资料,我们可以把它分给不同的人使用,这个分散的过程,我们可以看成是解包方法是实现。当然实际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中文字符串截取问题
Jun 15 Python
Django数据库表反向生成实例解析
Feb 06 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
Mar 19 Python
实时获取Python的print输出流方法
Jan 07 Python
python 多个参数不为空校验方法
Feb 14 Python
pandas删除指定行详解
Apr 04 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
Jan 16 Python
python datetime处理时间小结
Apr 16 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 Python
Python制作简单的剪刀石头布游戏
Dec 10 Python
python实现socket简单通信的示例代码
Apr 13 Python
python实现图片批量压缩
Apr 24 Python
python压包的概念及实例详解
Feb 17 #Python
python解包概念及实例
Feb 17 #Python
requests在python中发送请求的实例讲解
Feb 17 #Python
python切片作为占位符使用实例讲解
Feb 17 #Python
Django视图类型总结
Feb 17 #Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 #Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 #Python
You might like
用Socket发送电子邮件
2006/10/09 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
PHP中Notice错误常见解决方法
2017/04/28 PHP
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
Javascript开发之三数组对象实例介绍
2012/11/12 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
Java Varargs 可变参数用法详解
2020/01/28 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
python如何查看网页代码
2020/06/07 Python
Django视图类型总结
2021/02/17 Python
省级青年文明号申报材料
2014/05/23 职场文书
个人剖析材料范文
2014/09/30 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
辩护词格式
2015/05/22 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android
使用refresh_token实现无感刷新页面
2022/04/26 Javascript