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 相关文章推荐
web.py在模板中输出美元符号的方法
Aug 26 Python
Python中设置变量作为默认值时容易遇到的错误
Apr 03 Python
独特的python循环语句
Nov 20 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
Aug 05 Python
Python设计模式之命令模式简单示例
Jan 10 Python
Django中的CBV和FBV示例介绍
Feb 25 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
tensorflow 中对数组元素的操作方法
Jul 27 Python
Python minidom模块用法示例【DOM写入和解析XML】
Mar 25 Python
python爬虫要用到的库总结
Jul 28 Python
python中把元组转换为namedtuple方法
Dec 09 Python
django项目中使用云片网发送短信验证码的实现
Jan 19 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
php MySQL与分页效率
2008/06/04 PHP
php 结果集的分页实现代码
2009/03/10 PHP
深入php list()函数的详解
2013/06/05 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
PHP实现简易blog的制作
2016/10/24 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
js给selected添加options的方法
2015/05/06 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
jQuery下拉美化搜索表单效果代码分享
2015/08/25 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
深入理解Angularjs中$http.post与$.post
2017/05/19 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
Python正则表达式分组概念与用法详解
2017/06/24 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
python同时遍历数组的索引和值的实例
2018/11/15 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
大专生工程监理求职信
2013/10/04 职场文书
函授毕业自我鉴定
2014/02/04 职场文书
外国人聘用意向书
2014/04/01 职场文书
大学专科自荐信
2014/06/17 职场文书
公司员工离职感言
2015/08/03 职场文书
Pytorch可视化的几种实现方法
2021/06/10 Python