Python之封裝與解構(gòu)

舉例:a和b交換賦值
a = 4 b = 5 temp = a a = b b = temp
等價(jià)于a, b = b, a
上句中邻吭,等號右邊使用了封裝嵌纲,而左邊就使用了解構(gòu)

封裝

右邊封裝心铃,將多個(gè)值使用逗號分割蟹地,組合在一起,本質(zhì)上,返回一個(gè)元組或悲,只是省掉了小括號,是python特有語法孙咪,被很多語言學(xué)習(xí)和借鑒



注:在封裝與結(jié)構(gòu)過程中,右邊的封裝過程是先進(jìn)行的

解構(gòu)

線性結(jié)構(gòu)的元素解開巡语,并順序的賦給其它變量
左邊接納的變量數(shù)要和右邊解開的元素個(gè)數(shù)一致

使用 *變量名 接收

但不能單獨(dú)使用翎蹈,被 變量名 收集后組成一個(gè)列表*


單獨(dú)使用會報(bào)錯(cuò):

也不能連續(xù)使用:

丟棄變量

這是一個(gè)慣例,是一個(gè)不成文的約定捌臊,不是標(biāo)準(zhǔn):如果不關(guān)心一個(gè)變量杨蛋,就可以定義改變量的名字為_兜材。
_ 是一個(gè)合法的標(biāo)識符理澎,也可以作為一個(gè)有效的變量使用逞力,但是定義成下劃線就是希望不要被使用,除非你明確的知道這個(gè)數(shù)據(jù)需要使用
實(shí)例:



注:
_ 是合法的標(biāo)識符糠爬,看到下劃線就知道這個(gè)變量就是不想被使用
_ 還是一種特殊變量: _ 表示前一次輸出; __ 表示倒數(shù)第二次輸出; ___ 表示倒數(shù)第三次輸出; _dh 目錄歷史; _oh 輸出歷史

總結(jié):

_ 這個(gè)變量本身無任何語義寇荧,沒有任何可讀性,所以不是用來給人使用的Python中很多庫执隧,都使用這個(gè)變量揩抡,使用十分廣泛。請不要在不明確變量作用域的情況下镀琉,使用 _ 導(dǎo)致和庫中_ 沖突

練習(xí):

1峦嗤、從lst = [1,(2,3,4),5]中,提取4出來

lst = [1,(2,3,4),5]
_,(*_,a),_ = lst
print(a)

2屋摔、環(huán)境變量JAVA_HOME=/usr/bin烁设,返回環(huán)境變量名和路徑

key, _ , val = "JAVA_HOME=/usr/bin".partition('=')  
#字符串分割:partition(sep) -> (head, sep, tail)
print(key)
print(val)

#運(yùn)行結(jié)果:
JAVA_HOME
/usr/bin

3、對列表[1, 9, 8, 5, 6, 7, 4, 3, 2]使用冒泡法排序钓试,要求使用封裝和解構(gòu)來交互數(shù)據(jù)

lst = [1, 9, 8, 5, 6, 7, 4, 3, 2]
for i in range(9):
    for j in range(8):
        if lst[j] > lst[j+1]:
            lst[j],lst[j+1] = lst[j+1],lst[j]
print(lst)

#結(jié)果
[1, 2, 3, 4, 5, 6, 7, 8, 9]

4装黑、 lst = list(range(10)) # 這樣一個(gè)列表,取出第二個(gè)弓熏、第四個(gè)恋谭、倒數(shù)第二個(gè)

lst = list(range(10))
_,a,_,b,*_,c,_ = lst
print(a,b,c)
#結(jié)果
1 3 8
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市挽鞠,隨后出現(xiàn)的幾起案子疚颊,更是在濱河造成了極大的恐慌,老刑警劉巖滞谢,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件串稀,死亡現(xiàn)場離奇詭異,居然都是意外死亡狮杨,警方通過查閱死者的電腦和手機(jī)母截,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來橄教,“玉大人清寇,你說我怎么就攤上這事』さ” “怎么了华烟?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長持灰。 經(jīng)常有香客問我盔夜,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任喂链,我火速辦了婚禮返十,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘椭微。我一直安慰自己洞坑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布蝇率。 她就那樣靜靜地躺著迟杂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪本慕。 梳的紋絲不亂的頭發(fā)上排拷,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機(jī)與錄音锅尘,去河邊找鬼攻泼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鉴象,可吹牛的內(nèi)容都是我干的忙菠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼纺弊,長吁一口氣:“原來是場噩夢啊……” “哼牛欢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起淆游,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤傍睹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后犹菱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拾稳,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年腊脱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了访得。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡陕凹,死狀恐怖悍抑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情杜耙,我是刑警寧澤搜骡,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站佑女,受9級特大地震影響记靡,放射性物質(zhì)發(fā)生泄漏谈竿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一摸吠、第九天 我趴在偏房一處隱蔽的房頂上張望榕订。 院中可真熱鬧,春花似錦蜕便、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至丛楚,卻和暖如春族壳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背趣些。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工仿荆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坏平。 一個(gè)月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓拢操,卻偏偏與公主長得像,于是被迫代替她去往敵國和親舶替。 傳聞我的和親對象是個(gè)殘疾皇子令境,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • .bat腳本基本命令語法 目錄 批處理的常見命令(未列舉的命令還比較多,請查閱幫助信息) 1顾瞪、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,094評論 1 19
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)舔庶,也就是一...
    悟名先生閱讀 4,149評論 0 13
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 6,409評論 0 17
  • 還記得年少時(shí)你我約定的那天嗎? 我記得你曾說過要相約2008陈醒,你曾說過要一起去北京看奧運(yùn),去你想去...
    Gerry1003閱讀 210評論 0 0
  • 你想要努力綻放自己惕橙,卻又要保持不變的風(fēng)格。你看著別人其樂融融钉跷,你卻身在其中心在其外弥鹦。 你終究還是回...
    斌心依舊閱讀 236評論 0 0