时间:2021-05-22
对于一堆资料,我们可以把它分给不同的人使用,这个分散的过程,我们可以看成是解包方法是实现。当然实际python解包的使用会相对复杂一点,我们会对常见的列表、函数等进行操作。下面我们就Python解包的使用进行说明,然后带来两种解包方法的详解,大家一起往下看。
(1)解包的意义就是将传递给函数的一个列表,元组,字典,拆分成独立的多个元素然后赋值给函数中的形参变量。
(2)解包字典有两种解法,一种用*解的只有key,一种用**解的有key、value。但是这个方法**只能在函数定义中使用。
字典解包后,只会把字典的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, 3a, b, c = test()print(a, b, c) # 1 2 3函数的返回值是一个元组,左侧是三个变量,这样就会发生解包,a, b, c依次等于元组里的元素,函数的返回值有3个,被封包成了元组, 赋值语句的左侧不一定非得是3个变量。
def test(): return 1, 2, 3a, *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解包如何使用内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python3的可迭代解包在PEP3132-ExtendedIterableUnpacking里面描述了一种对可迭代对象的解包用法,Python3可用:In:a
Kotlin基础语法实例详解包定义和引入Java一样,在文件开头,行结束不需要”;“packagecom.test.helloimportandroid.os.
Python加密的实例详解hashlib支持md5,sha1,sha256,sha384,sha512,用法和md5一样importhashlib#hashli
协程是什么?可能很多人不清楚,所以我们先从其中的yieldfrom开始讲解。yieldfrom用法详解:yieldfrom是在Python3.3才出现的语法。所
基于Python中求和函数sum的用法详解今天在看《集体编程智慧》这本书的时候,看到一段Python代码,当时是百思不得其解,总觉得是书中排版出错了,后来去了解