小孩子剛剛開始學(xué)說話的時候,常常是一個字一個字地開始學(xué),比如學(xué)說“餃子”,對他/她來講,似乎有點難度,大人也聰明,于是就簡化了,用“餃餃”來代替,其實就是讓孩子學(xué)會一個字就能表達(dá)。當(dāng)然,從教育學(xué)的角度,有人不贊成這種方法。這個此處不討論了。如果對比學(xué)習(xí)編程,就好像是前面已經(jīng)學(xué)習(xí)過的那些各種類型的數(shù)據(jù)(對應(yīng)這自然語言中的單個字、詞),要表達(dá)一個完整的意思,或者讓計算機(jī)完成一個事情(動作),不得不通過一句話,這句話就是語句,它是按照一定規(guī)則組織起來的。自然語言中的一句話,按照主謂賓的語法方式組織,計算機(jī)編程中的語句,也是按照一定的語法要求進(jìn)行組織。
雖然在第一部分中,已經(jīng)零星涉及到語句問題,并且在不同場合也進(jìn)行了一些應(yīng)用。畢竟不那么系統(tǒng)。本部分,就比較系統(tǒng)地介紹python中的語句。
為了有總括的印象,先看看python中都包括哪些語句:
賦值語句
if語句,當(dāng)條件成立時運(yùn)行語句塊。經(jīng)常與else, elif(相當(dāng)于else if)配合使用。
for語句,遍列列表、字符串、字典、集合等迭代器,依次處理迭代器中的每個元素。
while語句,當(dāng)條件為真時,循環(huán)運(yùn)行語句塊。
try語句。與except, finally, else配合使用處理在程序運(yùn)行中出現(xiàn)的異常情況。
class語句。用于定義類型。
def語句。用于定義函數(shù)和類型的方法。
pass語句。表示此行為空,不運(yùn)行任何操作。
assert語句。用于程序調(diào)適階段時測試運(yùn)行條件是否滿足。
with語句。Python2.6以后定義的語法,在一個場景中運(yùn)行語句塊。比如,運(yùn)行語句塊前加鎖,然后在語句塊運(yùn)行退出后釋放鎖。
yield語句。在迭代器函數(shù)內(nèi)使用,用于返回一個元素。
raise語句。拋出一個異常。
import語句。導(dǎo)入一個模塊或包。常用寫法:from module import name, import module as name, from module import name as anothername
特別說明,以上劃分也不是很嚴(yán)格,有的內(nèi)容,有的朋友不認(rèn)為屬于語句。這沒關(guān)系,反正就是那個東西,在編程中使用。不糾結(jié)于名詞歸類上。總之這些都是要掌握的,才能順利編程呢。
再談賦值語句
還記得賦值,簡單也不簡單那一講中所提到的賦值語句嗎?既然談?wù)Z句,就應(yīng)該從這個開始,一方面復(fù)習(xí),另外一方面,希望能夠深點,深點的感覺總是很好的(我說的是理解python,思無邪。前面有一個關(guān)于list的內(nèi)容:再深點,更懂list,就有喜歡看玩笑的看官思邪了。哈哈。)
>>> [a, b] = [qiwsir, python]
>>> a
1
>>> b
2
>>> a, b
(1, 2)
>>> [a, b]
[1, 2]
換一種方式,以上兩種賦值方法交叉組合一下:
居然也行。其實,從這里我們就看出來了,賦值,就是對應(yīng)著將左邊的變量和右邊的對象關(guān)聯(lián)起來。
有這樣一個有趣的問題,如果a=3,b=4,想把這兩個變量的值調(diào)換一下,也就是a=4,b=3。在有的高級語言中,是要先引入另外一個變量c做為中間中專,就是這樣:
初學(xué)者可能有點糊涂。就是我和你兩只手都托著一個箱子,現(xiàn)在我們兩個要換一下箱子,但是兩個手都被占用了,無法換(當(dāng)然,要求箱子不能落地,也不要放在桌子上之類的)。于是再找一個名曰張三的人來,他空著兩只手,那么我先把箱子給張三,我就空出來了,然后接你的箱子,你的箱子就到我手里了。我的那個箱子現(xiàn)在張三手里呢,你接過來,于是我們兩個就換了箱子了。
只所以這么 主站蜘蛛池模板: 彭水| 水富县| 开封县| 灵丘县| 吕梁市| 吐鲁番市| 乌兰县| 永嘉县| 阳西县| 南宁市| 临安市| 凉城县| 隆林| 武汉市| 广元市| 芦溪县| 荃湾区| 泽州县| 鲁山县| 水城县| 三江| 青州市| 临湘市| 犍为县| 巴青县| 大理市| 濮阳市| 枣阳市| 塘沽区| 普定县| 滁州市| 阜南县| 萨迦县| 柘荣县| 乐平市| 吉木乃县| 宜君县| 峨边| 阜康市| 安平县| 浦东新区|