Python學(xué)習(xí)第十二天——《A Byte of Python》筆記 12

The beginning of the end

本書的學(xué)習(xí)將近尾聲,但對(duì)于Python學(xué)習(xí),這不是結(jié)束,而是開(kāi)始。

More

到目前已經(jīng)學(xué)習(xí)了將來(lái)要用的Python的大部分方面,這章學(xué)習(xí)讓我們知識(shí)更廣泛的內(nèi)容。

Passing tuples around(傳輸元組環(huán)繞?不知道怎么譯恰當(dāng))

利用元組可以從一個(gè)函數(shù)中返回兩個(gè)不同類型的值

>>>def get_error()
...retun(2,'detail')
...
>>>errnum,errstr=get_error()
>>>errnum
2
>>>errstr
'detail'

同樣,我們也可以用最快的方法交換兩個(gè)值

>>>a=5;b=8
>>>a,b
(5,8)
>>>a,b=b,a
>>>a,b
(8,5)

這比C#中用第三值來(lái)替換要方便的多,而且不同數(shù)據(jù)類型的也可以直接換。

Special Methods(特殊方法)

在類中有一些例如__init____del__等有特殊意義的方法。
可以用來(lái)模擬某些嵌入類型的行為。比如想用x[key]索引操作,那么用__getitem__()方法即可實(shí)現(xiàn)。特殊的還有__str____lt__、__len__等。

Single Statement Blocks(單語(yǔ)句塊)

每個(gè)塊語(yǔ)言我們都以縮進(jìn)開(kāi)頭,但如果只是單語(yǔ)句的話,可以放在同一行,一個(gè)條件語(yǔ)句或循環(huán)語(yǔ)句,如下:

>>>flag=True
>>>if flag:print('Yes')
...
Yes

雖然這可以讓編程變小,但除非是用于錯(cuò)誤檢查,強(qiáng)烈建議避免這樣寫,因?yàn)橛每s進(jìn)更容易加其他語(yǔ)句。

Lamnda Forms(匿名形式)

lambda用來(lái)創(chuàng)建新函數(shù)對(duì)象

points=[{'x':2,'y':3},{'x':4,'y':1}]
points.sort(key=lambda i:i['y']
print(points)

List Comprehension(列表含義)

用于從現(xiàn)存列表引申出新的列表。

listone=[2,3,4]
listtwo=[2*i for i in listone if i>2]
print(listtwo)

Output:

[6,8]

原列表中大于2的項(xiàng)目都乘以2在新列表中。

Receiving Tuples and Dictionaries in Functions(在函數(shù)中接收元組和字典)

利用*前綴,將參數(shù)作為元組或字典接收給一個(gè)函數(shù)。這在函數(shù)中有可變數(shù)量的語(yǔ)句時(shí)有用。

>>>defpowersum(power,*args):
...'''Returnthesumofeachargumentraisedtospecifiedpower.'''
...total=0
...for i in args:
...total+=pow(i,power)
...return total
...
>>>powersum(2,3,4)
25
>>>powersum(2,10)
100

The Assert Statement(維護(hù)語(yǔ)句)

assert語(yǔ)句用來(lái)聲明某個(gè)條件是真的。例如,如果你非常確信某個(gè)你使用的列表
中至少有一個(gè)元素,而你想要檢驗(yàn)這一點(diǎn),并且在它非真的時(shí)候引發(fā)一個(gè)錯(cuò)誤,那么
assert語(yǔ)句是應(yīng)用在這種情形下的理想語(yǔ)句。當(dāng)assert語(yǔ)句失敗的時(shí)候,會(huì)引發(fā)一個(gè)
AssertionError。

Decorators(裝潢工)

Decorators提供打包函數(shù),可以一遍遍的用同樣的代碼“打包”函數(shù)。

Python 2和3之間的區(qū)別(略)


這一節(jié)學(xué)習(xí)了解了更多Python的特征,但肯定不是全部。可以開(kāi)始創(chuàng)建我們想做的編程了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • layout: "post"tags: 筆記 Python 教程 入門categories: program 第 ...
    蕭子柔閱讀 1,245評(píng)論 0 0
  • 個(gè)人筆記,方便自己查閱使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik閱讀 67,947評(píng)論 0 5
  • 〇、前言 本文共108張圖,流量黨請(qǐng)慎重! 歷時(shí)1個(gè)半月,我把自己學(xué)習(xí)Python基礎(chǔ)知識(shí)的框架詳細(xì)梳理了一遍。 ...
    Raxxie閱讀 19,578評(píng)論 17 410
  • 這篇內(nèi)容其實(shí)很早就在自己的電腦上整理完成了,主要用作對(duì)做記錄整理Python和其他語(yǔ)言不太一樣的地方,使自己可以快...
    KwokKwok閱讀 406評(píng)論 0 0
  • (七)事發(fā) 我常在這街角上守候凝望我懷著滿腔渴望盼與你作心的探訪 從那天開(kāi)始,小晚的生活貌似回到了正軌,公司不需要...
    微涼的露珠閱讀 880評(píng)論 6 3

友情鏈接更多精彩內(nèi)容