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 相关文章推荐
linux环境下安装pyramid和新建项目的步骤
Nov 27 Python
python 字典(dict)按键和值排序
Jun 28 Python
python并发2之使用asyncio处理并发
Dec 21 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
python数据封装json格式数据
Mar 04 Python
python3.x上post发送json数据
Mar 04 Python
Pyinstaller将py打包成exe的实例
Mar 31 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
Django 导出项目依赖库到 requirements.txt过程解析
Aug 23 Python
详解Python list和numpy array的存储和读取方法
Nov 06 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
Jan 19 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 11 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
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
php格式化时间戳
2016/12/17 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
网站上面有这种切换效果
2006/06/26 Javascript
js技巧--转义符"\"的妙用
2007/01/09 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
jQuery中bind()方法用法实例
2015/01/19 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
python sys模块sys.path使用方法示例
2013/12/04 Python
Python模块WSGI使用详解
2018/02/02 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
小饰品店的创业计划书范文
2013/12/28 职场文书
保证书格式范文
2014/04/28 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
个人授权委托书范文
2014/09/21 职场文书
2014年女职工工作总结
2014/11/27 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
校长师德表现自我评价
2015/03/05 职场文书
家长会主持词开场白
2015/05/29 职场文书
《藏戏》教学反思
2016/02/23 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python