對于一堆資料,我們可以把它分給不同的人使用,這個分散的過程,我們可以看成是解包方法是實(shí)現(xiàn)。當(dāng)然實(shí)際python解包的使用會相對復(fù)雜一點(diǎn),我們會對常見的列表、函數(shù)等進(jìn)行操作。下面我們就Python解包的使用進(jìn)行說明,然后帶來兩種解包方法的詳解,大家一起往下看。
(1)解包的意義就是將傳遞給函數(shù)的一個列表,元組,字典,拆分成獨(dú)立的多個元素然后賦值給函數(shù)中的形參變量。
(2)解包字典有兩種解法,一種用*解的只有key,一種用**解的有key、value。但是這個方法**只能在函數(shù)定義中使用。
字典解包后,只會把字典的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
函數(shù)的返回值是一個元組,左側(cè)是三個變量,這樣就會發(fā)生解包,a, b, c依次等于元組里的元素,函數(shù)的返回值有3個,被封包成了元組, 賦值語句的左側(cè)不一定非得是3個變量。
def test(): return 1, 2, 3 a, *b = test() print(a, b) # 1 [2, 3]
變量a賦值為1,變量b前面有一個星號,剩余的2,3 將被解包為列表。
知識點(diǎn)擴(kuò)展:
了解解包,首先要了解什么是參數(shù)。比如我們要運(yùn)行ex1.py這個文件,我們可以在命令行(徽標(biāo)鍵+r)中輸入命令“pyhton ex1.py”即可運(yùn)行,但注意要先進(jìn)入到py文件所在路徑。其中,ex1.py便是參數(shù)。下面以一個可以接受參數(shù)的腳本為例來闡述相關(guān)知識。
from sys import argv #import語句目的是將python功能引入腳本當(dāng)中,一看“import”,就知道程序使用了哪些功能 #argv是“參數(shù)變量”的意思,這是一個非常標(biāo)準(zhǔn)的編程術(shù)語。這個變量包含了用戶傳遞給python的參數(shù) #用“import”導(dǎo)入進(jìn)來的功能稱為“模組(modules)”(也有人叫作“庫”)。 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:平頂山 郴州 哈爾濱 烏蘭察布 合肥 烏蘭察布 大慶 海南
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python解包用法詳解》,本文關(guān)鍵詞 python,解包,用法,詳解,python,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。