Python函數(shù)、切片、迭代學(xué)習(xí)小結(jié)

一、函數(shù)

1.在Python中,定義一個(gè)函數(shù)要使用def語(yǔ)句,依次寫(xiě)出函數(shù)名、括號(hào)、括號(hào)中的參數(shù)和冒號(hào):,然后,在縮進(jìn)塊中編寫(xiě)函數(shù)體,函數(shù)的返回值用return語(yǔ)句返回。

2.如果沒(méi)有return語(yǔ)句,函數(shù)執(zhí)行完畢后也會(huì)返回結(jié)果,只是結(jié)果為 None。

3.Python函數(shù)可以返回多個(gè)返回值,但是究其根本它其實(shí)只是反回了一個(gè)tuple,而tuple中包含多值。

4.Python的函數(shù)里可以定義默認(rèn)參數(shù),比如:def fuc(a,b=1):,這里默認(rèn)參數(shù)就是b=1,如果調(diào)用方法時(shí)不穿b參數(shù)那么b的默認(rèn)值就是1,如果傳,那么默認(rèn)值被覆蓋。由于函數(shù)的參數(shù)按從左到右的順序匹配,所以默認(rèn)參數(shù)只能定義在必需參數(shù)的后面。

5.Python之定義可變參數(shù),我們可以通過(guò)def fuc(*args):這種形式向函數(shù)中傳入任意數(shù)量的參數(shù),原理是python會(huì)把傳入的多個(gè)參數(shù)合成一個(gè)tuple,傳遞給函數(shù)。

二、切片

1.我理解的切片就是對(duì)有序數(shù)據(jù)進(jìn)行截取,分割。

2.拿list作案例,如list[0:3],就是截取list索引下0-2的元素生成一個(gè)新的list,當(dāng)?shù)谝粋€(gè)索引為0時(shí)也可以省略list[:3];當(dāng)一直切片到最后一個(gè)元素時(shí)可表示為list[2:],理解為從索引2開(kāi)始一直截取到最后一個(gè)元素,因此list[:]可以理解為復(fù)制了一個(gè)新的list。

3.切片操作還可以指定第三個(gè)參數(shù),如list[::2],第三個(gè)參數(shù)表示每N個(gè)取一個(gè),上面的 L[::2] 會(huì)每?jī)蓚€(gè)元素取出一個(gè)來(lái),也就是隔一個(gè)取一個(gè)。注:把list換成tuple,切片操作完全相同,只是切片的結(jié)果也變成了tuple。

4.python同樣也支持倒序切片。如list[0:-2]。

5.切片同樣可應(yīng)用到字符串截取,但截取后得到的依舊是字符串。

三、迭代

1.迭代操作就是對(duì)于一個(gè)集合,無(wú)論該集合是有序還是無(wú)序,我們用 for 循環(huán)總是可以依次取出集合的每一個(gè)元素。

2.像如下:(1).有序集合:list,tuple,str和unicode;(2).無(wú)序集合:set;(3).無(wú)序集合并且具有 key-value 對(duì):dict都可以通過(guò)for...in...來(lái)進(jìn)行迭代。

3.enumerate()函數(shù),它可以把有序數(shù)組里的每個(gè)元素和其對(duì)應(yīng)的索引關(guān)聯(lián)起來(lái)形成一個(gè)個(gè)tuple,從而可以用for循環(huán)來(lái)迭代索引。

4.對(duì)于dict中的value進(jìn)行迭代,我們可以通過(guò)dict.values()或d.itervalues()函數(shù)結(jié)合for循環(huán)來(lái)實(shí)現(xiàn)。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?兩者的區(qū)別在于:(1).values()方法實(shí)際上把一個(gè) dict 轉(zhuǎn)換成了包含 value 的list; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2).itervalues()方法不會(huì)轉(zhuǎn)換,它會(huì)在迭代過(guò)程中依次從 dict 中取出 value,所以 itervalues() 方 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?法比values() 方法節(jié)省了生成 list 所需的內(nèi)存。注:在python3.5中此函數(shù)被.items()取代。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 最近在慕課網(wǎng)學(xué)習(xí)廖雪峰老師的Python進(jìn)階課程,做筆記總結(jié)一下重點(diǎn)。 基本變量及其類型 變量 在Python中,...
    victorsungo閱讀 1,736評(píng)論 0 5
  • 一、python 變量和數(shù)據(jù)類型 1.整數(shù) Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù),在Python程序...
    績(jī)重KF閱讀 1,780評(píng)論 0 1
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫(xiě)完項(xiàng)目接著寫(xiě)寫(xiě)一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,628評(píng)論 1 118
  • Python變量和數(shù)據(jù)類型 數(shù)據(jù)類型 print語(yǔ)句 注釋 Python的注釋以 # 開(kāi)頭,后面的文字直到行尾都算...
    Gaolex閱讀 2,840評(píng)論 5 55
  • 朋友C,早年畢業(yè)后,升學(xué)無(wú)望,于是四處打聽(tīng)工作崗位。經(jīng)朋友的介紹說(shuō),他那邊有個(gè)保安的崗位,待遇薪水還不錯(cuò),可以...
    浩瀚的一顆星閱讀 593評(píng)論 3 3