对于一堆资料,我们可以把它分给不同的人使用,这个分散的过程,我们可以看成是解包方法是实现。当然实际python解包的使用会相对复杂一点,我们会对常见的列表、函数等进行操作。下面我们就Python解包的使用进行说明,然后带来两种解包方法的详解,大家一起往下看。
1、使用说明
(1)解包的意义就是将传递给函数的一个列表,元组,字典,拆分成独立的多个元素然后赋值给函数中的形参变量。
(2)解包字典有两种解法,一种用*解的只有key,一种用**解的有key、value。但是这个方法**只能在函数定义中使用。
2、*方法
字典解包后,只会把字典的key取出来,value 则丢掉了。
(1)列表解包
1
2
3
|
a, b, c = [ 1 , 2 , 3 ]
print (a, b, c)
# 1 2 3
|
(2)元祖解包
1
2
3
|
a, b, c = ( 1 , 2 , 3 )
print (a, b, c)
# 1 2 3
|
(3)字符串解包
1
2
3
|
a, b, c = "abc"
print (a, b, c)
# a b c
|
(4)字典解包
1
2
3
|
a, b, c = { "a" : 1 , "b" : 2 , "c" : 3 }
print (a, b, c)
# a b c
|
接收函数返回值
1
2
3
4
|
def test():
return 1 , 2 , 3
a, b, c = test()
print (a, b, c) # 1 2 3
|
3、**方法函数解包
函数的返回值是一个元组,左侧是三个变量,这样就会发生解包,a, b, c依次等于元组里的元素,函数的返回值有3个,被封包成了元组, 赋值语句的左侧不一定非得是3个变量。
1
2
3
4
|
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便是参数。下面以一个可以接受参数的脚本为例来阐述相关知识。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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解包如何使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/jishu/gaoji/23788.html