摘要:語句,遍列列表字符串字典集合等迭代器,依次處理迭代器中的每個元素。與配合使用處理在程序運行中出現的異常情況。表示此行為空,不運行任何操作。在迭代器函數內使用,用于返回一個元素。恭請到上瀏覽及時更新的教程零基礎學
小孩子剛剛開始學說話的時候,常常是一個字一個字地開始學,比如學說“餃子”,對他/她來講,似乎有點難度,大人也聰明,于是就簡化了,用“餃餃”來代替,其實就是讓孩子學會一個字就能表達。當然,從教育學的角度,有人不贊成這種方法。這個此處不討論了。如果對比學習編程,就好像是前面已經學習過的那些各種類型的數據(對應這自然語言中的單個字、詞),要表達一個完整的意思,或者讓計算機完成一個事情(動作),不得不通過一句話,這句話就是語句,它是按照一定規則組織起來的。自然語言中的一句話,按照主謂賓的語法方式組織,計算機編程中的語句,也是按照一定的語法要求進行組織。
雖然在第一部分中,已經零星涉及到語句問題,并且在不同場合也進行了一些應用。畢竟不那么系統。本部分,就比較系統地介紹python中的語句。
為了有總括的印象,先看看python中都包括哪些語句:
賦值語句
if語句,當條件成立時運行語句塊。經常與else, elif(相當于else if)配合使用。
for語句,遍列列表、字符串、字典、集合等迭代器,依次處理迭代器中的每個元素。
while語句,當條件為真時,循環運行語句塊。
try語句。與except, finally, else配合使用處理在程序運行中出現的異常情況。
class語句。用于定義類型。
def語句。用于定義函數和類型的方法。
pass語句。表示此行為空,不運行任何操作。
assert語句。用于程序調適階段時測試運行條件是否滿足。
with語句。Python2.6以后定義的語法,在一個場景中運行語句塊。比如,運行語句塊前加鎖,然后在語句塊運行退出后釋放鎖。
yield語句。在迭代器函數內使用,用于返回一個元素。
raise語句。拋出一個異常。
import語句。導入一個模塊或包。常用寫法:from module import name, import module as name, from module import name as anothername
特別說明,以上劃分也不是很嚴格,有的內容,有的朋友不認為屬于語句。這沒關系,反正就是那個東西,在編程中使用。不糾結于名詞歸類上??傊@些都是要掌握的,才能順利編程呢。
再談賦值語句還記得賦值,簡單也不簡單那一講中所提到的賦值語句嗎?既然談語句,就應該從這個開始,一方面復習,另外一方面,希望能夠深點,深點的感覺總是很好的(我說的是理解python,思無邪。前面有一個關于list的內容:再深點,更懂list,就有喜歡看玩笑的看官思邪了。哈哈。)
>>> qiwsir = 1 >>> python = 2 >>> x, y = qiwsir, python #相當于x=qiwsir,y=python >>> x 1 >>> y 2 >>> x, y #輸出的是tuple (1, 2) >>> [x, y] #這就是一個list [1, 2] >>> [a, b] = [qiwsir, python] >>> a 1 >>> b 2 >>> a, b (1, 2) >>> [a, b] [1, 2]
換一種方式,以上兩種賦值方法交叉組合一下:
>>> [c, d] = qiwsir, python >>> c 1 >>> d 2 >>> c, d (1, 2) >>> f, g = [qiwsir, python] >>> f 1 >>> g 2 >>> f, g (1, 2)
居然也行。其實,從這里我們就看出來了,賦值,就是對應著將左邊的變量和右邊的對象關聯起來。
有這樣一個有趣的問題,如果a=3,b=4,想把這兩個變量的值調換一下,也就是a=4,b=3。在有的高級語言中,是要先引入另外一個變量c做為中間中專,就是這樣:
a = 3 b = 4 c = a #即c=3 a = b #a=4 b = c #b=3
初學者可能有點糊涂。就是我和你兩只手都托著一個箱子,現在我們兩個要換一下箱子,但是兩個手都被占用了,無法換(當然,要求箱子不能落地,也不要放在桌子上之類的)。于是再找一個名曰張三的人來,他空著兩只手,那么我先把箱子給張三,我就空出來了,然后接你的箱子,你的箱子就到我手里了。我的那個箱子現在張三手里呢,你接過來,于是我們兩個就換了箱子了。
只所以這么啰嗦,就是因為我們兩個沒有更多的手。但是,這不是python,python有更多的手。她可以這樣:
>>> qiwsir = 100 >>> python = 200 >>> qiwsir, python = python, qiwsir >>> qiwsir 200 >>> python 100
有點神奇,python是三頭六臂的。
序列賦值其實上面實驗的賦值,本質上就是序列賦值。只不過這里再強化一番罷了。如果左邊的變量是序列,右邊的對象也是序列,兩者將一一對應地進行賦值。
>>> [a, b, c] = (1, 2, 3) #左右序列一一對應,左邊是變量,右邊是對象 >>> a 1 >>> b 2 >>> c 3 >>> (a,b,c) = [1,2,3] >>> a 1 >>> b 2 >>> c 3 >>> [a,b,c] = "qiw" #不要忘記了,str也是序列類型的數據 >>> a "q" >>> b "i" >>> c "w" >>> (a,b,c) = "qiw" >>> a,c ("q", "w") >>> a,b,c = "qiw" #與前面等價 >>> a,b ("q", "i") >>> a,b = "qiw" #報錯了,因為左邊和右邊不是一一對應 Traceback (most recent call last): File "", line 1, in ValueError: too many values to unpack >>> (a,b),c = "qi","wei" #注意觀察,這樣的像是是如何對應的 >>> a,b,c ("q", "i", "wei") >>> string = "qiwsir" >>> a,b,c = string[0],string[1],string[2] #取切片也一樣 >>> a,b,c ("q", "i", "w") >>> (a,b),c = string[:2],string[2:] >>> a,b,c ("q", "i", "wsir")
從實驗中,可以看出,要搞清楚這種眼花繚亂的賦值,就僅僅扣住“一一對應”這個命脈即可。
如果看官用python3,在賦值上還有更多有意思的東西呢。不過,本講座用的還是python2。
恭請到github上瀏覽及時更新的教程:零基礎學python文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/37353.html
摘要:在學習語句的時候,對編程的基礎知識了解的還不是很多,或許沒有做什么太復雜的東西??梢酝ㄟ^一個內置函數來判斷一個條件的結果還是。有朋友需要看完整教程內容,請點擊零基礎學,這里會及時更新,并且有完整的目錄結構,更吸納了朋友們提出的意見和建議。 看官是否記得,在上一部分的時候,有一講專門介紹if語句的:從if開始語句的征程。在學習if語句的時候,對python編程的基礎知識了解的還不是很多,...
摘要:萊布尼茲所指的函數現在被稱作可導函數,數學家之外的普通人一般接觸到的函數即屬此類。中文的函數一詞由清朝數學家李善蘭譯出。前面提供的維基百科中的函數詞條,里面可以做一個概覽。 函數,對于人類來講,能夠發展到這個數學思維層次,是一個飛躍??梢哉f,它的提出,直接加快了現代科技和社會的發展,不論是現代的任何科技門類,乃至于經濟學、政治學、社會學等,都已經普遍使用函數。 下面一段來自維基百科(...
摘要:你只需要相信一句話鍵盤敲爛,月薪過萬就行了,進入正文,零基礎入門知識點大綱如下其實到目前為止,的崗位需求還是非常多的,還是大多數企業后臺開發的主流編程語言,功能強大,還是很值得學習的。 ...
摘要:在干事情之前,先看看這個東東。行文到此,提醒列位,如果用的,請用,要加個括號。這樣的輸出算是對前面輸出的擴展了。據說,會逐漸逐漸取代前面的。恭請列為到我的上及時更新的內容零基礎學 print的一些基本用法,在前面的講述中也涉及一些,本講是在復習的基礎上,盡量再多點內容。 eval() 在print干事情之前,先看看這個東東。不是沒有用,因為說不定某些時候要用到。 >>> help...
摘要:一般所有高級語言,都包含如下語句,也不例外循環語句容許一些語句反復運行數次。條件語句容許僅當某些條件成立時才運行某個區塊。無條件分支語句容許運行順序轉移到程序的其他部分之中。零基礎學我在上的文章,隨時更新修改。 一般編程的教材,都是要把所有的變量類型講完,然后才講語句。這種講法,其實不符合學習的特點。學習,就是要循序漸進的。在這點上,我可以很吹一通了,因為我做過教師,研究教育教學,算是...
閱讀 3410·2023-04-26 02:41
閱讀 2461·2023-04-26 00:14
閱讀 2871·2021-08-11 10:22
閱讀 1288·2019-12-27 11:38
閱讀 3579·2019-08-29 18:34
閱讀 2385·2019-08-29 12:13
閱讀 2957·2019-08-26 18:26
閱讀 1859·2019-08-26 16:49