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的Django框架部署的一些建议
Apr 09 Python
python实现下载整个ftp目录的方法
Jan 17 Python
python遍历一个目录,输出所有的文件名的实例
Apr 23 Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 Python
Python查看微信撤回消息代码
Jun 07 Python
Django中数据库的数据关系:一对一,一对多,多对多
Oct 21 Python
python实现维吉尼亚加密法
Mar 20 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
解决python tkinter界面卡死的问题
Jul 17 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
使用pandas 将DataFrame转化成dict
Dec 10 Python
python判断是空的实例分享
Jul 06 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
PHP网站备份程序代码分享
2011/06/10 PHP
PHP调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
php获取文件类型和文件信息的方法
2015/07/10 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
做网页的一些技巧
2007/02/01 Javascript
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
JavaScript高级函数应用之分时函数实例分析
2018/08/03 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
应届中专生自荐书范文
2014/02/13 职场文书
员工入职担保书范文
2014/04/01 职场文书
学生干部培训方案
2014/06/12 职场文书
建设幸福中国演讲稿
2014/09/11 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
上下班时间调整通知
2015/04/23 职场文书
小人国观后感
2015/06/11 职场文书
redis lua限流算法实现示例
2022/07/15 Redis