對(duì)于一堆資料,我們可以把它分給不同的人使用,這個(gè)分散的過程,我們可以看成是解包方法是實(shí)現(xiàn)。當(dāng)然實(shí)際python解包的使用會(huì)相對(duì)復(fù)雜一點(diǎn),我們會(huì)對(duì)常見的列表、函數(shù)等進(jìn)行操作。下面我們就Python解包的使用進(jìn)行說明,然后帶來兩種解包方法的詳解,大家一起往下看。
1、使用說明
(1)解包的意義就是將傳遞給函數(shù)的一個(gè)列表,元組,字典,拆分成獨(dú)立的多個(gè)元素然后賦值給函數(shù)中的形參變量。
(2)解包字典有兩種解法,一種用*解的只有key,一種用**解的有key、value。但是這個(gè)方法**只能在函數(shù)定義中使用。
2、*方法
字典解包后,只會(huì)把字典的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
接收函數(shù)返回值
def test():
return 1, 2, 3
a, b, c = test()
print(a, b, c) # 1 2 3
3、**方法函數(shù)解包
函數(shù)的返回值是一個(gè)元組,左側(cè)是三個(gè)變量,這樣就會(huì)發(fā)生解包,a, b, c依次等于元組里的元素,函數(shù)的返回值有3個(gè),被封包成了元組, 賦值語(yǔ)句的左側(cè)不一定非得是3個(gè)變量。
def test():
return 1, 2, 3
a, *b = test()
print(a, b) # 1 [2, 3]
變量a賦值為1,變量b前面有一個(gè)星號(hào),剩余的2,3 將被解包為列表。
知識(shí)點(diǎn)擴(kuò)展:
了解解包,首先要了解什么是參數(shù)。比如我們要運(yùn)行ex1.py這個(gè)文件,我們可以在命令行(徽標(biāo)鍵+r)中輸入命令“pyhton ex1.py”即可運(yùn)行,但注意要先進(jìn)入到py文件所在路徑。其中,ex1.py便是參數(shù)。下面以一個(gè)可以接受參數(shù)的腳本為例來闡述相關(guān)知識(shí)。
from sys import argv
#import語(yǔ)句目的是將python功能引入腳本當(dāng)中,一看“import”,就知道程序使用了哪些功能
#argv是“參數(shù)變量”的意思,這是一個(gè)非常標(biāo)準(zhǔn)的編程術(shù)語(yǔ)。這個(gè)變量包含了用戶傳遞給python的參數(shù)
#用“import”導(dǎo)入進(jìn)來的功能稱為“模組(modules)”(也有人叫作“庫(kù)”)。
script,first,second,third = argv
#上面一行作用是給argv“解包(unpack)”,即一次性將所有參數(shù)賦予變量名
#可理解為將argv中的東西解包,即將所有的參數(shù)依次賦予左邊的變量名
print("the script is called:", script)
print("your first variable is:",first)
print("your second variable is:",second)
print("your third variable is:",third)
到此這篇關(guān)于python解包用法詳解的文章就介紹到這了,更多相關(guān)python解包如何使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python解包概念及實(shí)例
- 關(guān)于Python解包知識(shí)點(diǎn)總結(jié)
- Python序列類型的打包和解包實(shí)例
- Python3.8對(duì)可迭代解包的改進(jìn)及用法詳解
- 關(guān)于Python形參打包與解包小技巧分享
- python-序列解包(對(duì)可迭代元素的快速取值方法)
- 對(duì)python中的裝包與解包實(shí)例詳解