亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

[零基礎(chǔ)學(xué)Python]正規(guī)地說一句話

Freeman / 735人閱讀

摘要:語句,遍列列表字符串字典集合等迭代器,依次處理迭代器中的每個(gè)元素。與配合使用處理在程序運(yùn)行中出現(xiàn)的異常情況。表示此行為空,不運(yùn)行任何操作。在迭代器函數(shù)內(nèi)使用,用于返回一個(gè)元素。恭請到上瀏覽及時(shí)更新的教程零基礎(chǔ)學(xué)

小孩子剛剛開始學(xué)說話的時(shí)候,常常是一個(gè)字一個(gè)字地開始學(xué),比如學(xué)說“餃子”,對他/她來講,似乎有點(diǎn)難度,大人也聰明,于是就簡化了,用“餃餃”來代替,其實(shí)就是讓孩子學(xué)會一個(gè)字就能表達(dá)。當(dāng)然,從教育學(xué)的角度,有人不贊成這種方法。這個(gè)此處不討論了。如果對比學(xué)習(xí)編程,就好像是前面已經(jīng)學(xué)習(xí)過的那些各種類型的數(shù)據(jù)(對應(yīng)這自然語言中的單個(gè)字、詞),要表達(dá)一個(gè)完整的意思,或者讓計(jì)算機(jī)完成一個(gè)事情(動作),不得不通過一句話,這句話就是語句,它是按照一定規(guī)則組織起來的。自然語言中的一句話,按照主謂賓的語法方式組織,計(jì)算機(jī)編程中的語句,也是按照一定的語法要求進(jìn)行組織。

雖然在第一部分中,已經(jīng)零星涉及到語句問題,并且在不同場合也進(jìn)行了一些應(yīng)用。畢竟不那么系統(tǒng)。本部分,就比較系統(tǒng)地介紹python中的語句。

為了有總括的印象,先看看python中都包括哪些語句:

賦值語句

if語句,當(dāng)條件成立時(shí)運(yùn)行語句塊。經(jīng)常與else, elif(相當(dāng)于else if)配合使用。

for語句,遍列列表、字符串、字典、集合等迭代器,依次處理迭代器中的每個(gè)元素。

while語句,當(dāng)條件為真時(shí),循環(huán)運(yùn)行語句塊。

try語句。與except, finally, else配合使用處理在程序運(yùn)行中出現(xiàn)的異常情況。

class語句。用于定義類型。

def語句。用于定義函數(shù)和類型的方法。

pass語句。表示此行為空,不運(yùn)行任何操作。

assert語句。用于程序調(diào)適階段時(shí)測試運(yùn)行條件是否滿足。

with語句。Python2.6以后定義的語法,在一個(gè)場景中運(yùn)行語句塊。比如,運(yùn)行語句塊前加鎖,然后在語句塊運(yùn)行退出后釋放鎖。

yield語句。在迭代器函數(shù)內(nèi)使用,用于返回一個(gè)元素。

raise語句。拋出一個(gè)異常。

import語句。導(dǎo)入一個(gè)模塊或包。常用寫法:from module import name, import module as name, from module import name as anothername

特別說明,以上劃分也不是很嚴(yán)格,有的內(nèi)容,有的朋友不認(rèn)為屬于語句。這沒關(guān)系,反正就是那個(gè)東西,在編程中使用。不糾結(jié)于名詞歸類上??傊@些都是要掌握的,才能順利編程呢。

再談賦值語句

還記得賦值,簡單也不簡單那一講中所提到的賦值語句嗎?既然談?wù)Z句,就應(yīng)該從這個(gè)開始,一方面復(fù)習(xí),另外一方面,希望能夠深點(diǎn),深點(diǎn)的感覺總是很好的(我說的是理解python,思無邪。前面有一個(gè)關(guān)于list的內(nèi)容:再深點(diǎn),更懂list,就有喜歡看玩笑的看官思邪了。哈哈。)

>>> qiwsir = 1
>>> python = 2
>>> x, y = qiwsir, python   #相當(dāng)于x=qiwsir,y=python
>>> x
1
>>> y
2
>>> x, y                    #輸出的是tuple
(1, 2)
>>> [x, y]                  #這就是一個(gè)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)

居然也行。其實(shí),從這里我們就看出來了,賦值,就是對應(yīng)著將左邊的變量和右邊的對象關(guān)聯(lián)起來。

有這樣一個(gè)有趣的問題,如果a=3,b=4,想把這兩個(gè)變量的值調(diào)換一下,也就是a=4,b=3。在有的高級語言中,是要先引入另外一個(gè)變量c做為中間中專,就是這樣:

a = 3
b = 4
c = a   #即c=3
a = b   #a=4
b = c   #b=3

初學(xué)者可能有點(diǎn)糊涂。就是我和你兩只手都托著一個(gè)箱子,現(xiàn)在我們兩個(gè)要換一下箱子,但是兩個(gè)手都被占用了,無法換(當(dāng)然,要求箱子不能落地,也不要放在桌子上之類的)。于是再找一個(gè)名曰張三的人來,他空著兩只手,那么我先把箱子給張三,我就空出來了,然后接你的箱子,你的箱子就到我手里了。我的那個(gè)箱子現(xiàn)在張三手里呢,你接過來,于是我們兩個(gè)就換了箱子了。

只所以這么啰嗦,就是因?yàn)槲覀儍蓚€(gè)沒有更多的手。但是,這不是python,python有更多的手。她可以這樣:

>>> qiwsir = 100
>>> python = 200
>>> qiwsir, python = python, qiwsir
>>> qiwsir
200
>>> python
100

有點(diǎn)神奇,python是三頭六臂的。

序列賦值

其實(shí)上面實(shí)驗(yàn)的賦值,本質(zhì)上就是序列賦值。只不過這里再強(qiáng)化一番罷了。如果左邊的變量是序列,右邊的對象也是序列,兩者將一一對應(yīng)地進(jìn)行賦值。

>>> [a, b, c] = (1, 2, 3)   #左右序列一一對應(yīng),左邊是變量,右邊是對象
>>> a
1
>>> b
2
>>> c
3
>>> (a,b,c) = [1,2,3]
>>> a
1
>>> b
2
>>> c
3
>>> [a,b,c] = "qiw"     #不要忘記了,str也是序列類型的數(shù)據(jù)
>>> a
"q"
>>> b
"i"
>>> c
"w"
>>> (a,b,c) = "qiw"
>>> a,c
("q", "w")
>>> a,b,c = "qiw"       #與前面等價(jià)
>>> a,b
("q", "i")
>>> a,b = "qiw"         #報(bào)錯(cuò)了,因?yàn)樽筮吅陀疫叢皇且灰粚?yīng)
Traceback (most recent call last):
  File "", line 1, in 
ValueError: too many values to unpack

>>> (a,b),c = "qi","wei"    #注意觀察,這樣的像是是如何對應(yīng)的
>>> 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")

從實(shí)驗(yàn)中,可以看出,要搞清楚這種眼花繚亂的賦值,就僅僅扣住“一一對應(yīng)”這個(gè)命脈即可。

如果看官用python3,在賦值上還有更多有意思的東西呢。不過,本講座用的還是python2。

恭請到github上瀏覽及時(shí)更新的教程:零基礎(chǔ)學(xué)python

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/37353.html

相關(guān)文章

  • [基礎(chǔ)學(xué)python]復(fù)習(xí)if語句

    摘要:在學(xué)習(xí)語句的時(shí)候,對編程的基礎(chǔ)知識了解的還不是很多,或許沒有做什么太復(fù)雜的東西??梢酝ㄟ^一個(gè)內(nèi)置函數(shù)來判斷一個(gè)條件的結(jié)果還是。有朋友需要看完整教程內(nèi)容,請點(diǎn)擊零基礎(chǔ)學(xué),這里會及時(shí)更新,并且有完整的目錄結(jié)構(gòu),更吸納了朋友們提出的意見和建議。 看官是否記得,在上一部分的時(shí)候,有一講專門介紹if語句的:從if開始語句的征程。在學(xué)習(xí)if語句的時(shí)候,對python編程的基礎(chǔ)知識了解的還不是很多,...

    array_huang 評論0 收藏0
  • [基礎(chǔ)學(xué)python]永遠(yuǎn)強(qiáng)大的函數(shù)

    摘要:萊布尼茲所指的函數(shù)現(xiàn)在被稱作可導(dǎo)函數(shù),數(shù)學(xué)家之外的普通人一般接觸到的函數(shù)即屬此類。中文的函數(shù)一詞由清朝數(shù)學(xué)家李善蘭譯出。前面提供的維基百科中的函數(shù)詞條,里面可以做一個(gè)概覽。 函數(shù),對于人類來講,能夠發(fā)展到這個(gè)數(shù)學(xué)思維層次,是一個(gè)飛躍。可以說,它的提出,直接加快了現(xiàn)代科技和社會的發(fā)展,不論是現(xiàn)代的任何科技門類,乃至于經(jīng)濟(jì)學(xué)、政治學(xué)、社會學(xué)等,都已經(jīng)普遍使用函數(shù)。 下面一段來自維基百科(...

    cangck_X 評論0 收藏0
  • 先轉(zhuǎn)行從基礎(chǔ)入門學(xué)編程可以嗎?

    摘要:你只需要相信一句話鍵盤敲爛,月薪過萬就行了,進(jìn)入正文,零基礎(chǔ)入門知識點(diǎn)大綱如下其實(shí)到目前為止,的崗位需求還是非常多的,還是大多數(shù)企業(yè)后臺開發(fā)的主流編程語言,功能強(qiáng)大,還是很值得學(xué)習(xí)的。 ...

    desdik 評論0 收藏0
  • [基礎(chǔ)學(xué)python]print能干的事情

    摘要:在干事情之前,先看看這個(gè)東東。行文到此,提醒列位,如果用的,請用,要加個(gè)括號。這樣的輸出算是對前面輸出的擴(kuò)展了。據(jù)說,會逐漸逐漸取代前面的。恭請列為到我的上及時(shí)更新的內(nèi)容零基礎(chǔ)學(xué) print的一些基本用法,在前面的講述中也涉及一些,本講是在復(fù)習(xí)的基礎(chǔ)上,盡量再多點(diǎn)內(nèi)容。 eval() 在print干事情之前,先看看這個(gè)東東。不是沒有用,因?yàn)檎f不定某些時(shí)候要用到。 >>> help...

    kk_miles 評論0 收藏0
  • [基礎(chǔ)學(xué)python]從if開始語句的征程

    摘要:一般所有高級語言,都包含如下語句,也不例外循環(huán)語句容許一些語句反復(fù)運(yùn)行數(shù)次。條件語句容許僅當(dāng)某些條件成立時(shí)才運(yùn)行某個(gè)區(qū)塊。無條件分支語句容許運(yùn)行順序轉(zhuǎn)移到程序的其他部分之中。零基礎(chǔ)學(xué)我在上的文章,隨時(shí)更新修改。 一般編程的教材,都是要把所有的變量類型講完,然后才講語句。這種講法,其實(shí)不符合學(xué)習(xí)的特點(diǎn)。學(xué)習(xí),就是要循序漸進(jìn)的。在這點(diǎn)上,我可以很吹一通了,因?yàn)槲易鲞^教師,研究教育教學(xué),算是...

    caspar 評論0 收藏0

發(fā)表評論

0條評論

Freeman

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<