元組
列表非常適用于存儲(chǔ)在程序運(yùn)行時(shí)可能變化的數(shù)據(jù)集。列表是可以修改的敞临,然而,有時(shí)候你需要?jiǎng)?chuàng)建一系列不可修改的元素奏黑,元組可以滿足這種要求炊邦。Python將不能修改的值稱之為不可變的攀涵,而不可變的列表稱為元組洽沟。
定義元組
元組看起來(lái)像列表,但是是使用圓括號(hào)裆操,而不是方括號(hào)括號(hào)來(lái)標(biāo)識(shí)。定義元組之后昆烁,就可以使用索引來(lái)訪問(wèn)其元素缎岗,就像列表元素一樣。
例如传泊,如果有一個(gè)大小不應(yīng)該改變的矩形,可以將其長(zhǎng)度和寬度存儲(chǔ)在一個(gè)元組中拦盹,從而確保它們是不能修改的溪椎。
dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])
首先定義一個(gè)元組dimensions,使用的是圓括號(hào)校读,而不是方括號(hào)。接下來(lái)分別打印該元組的各個(gè)元素蛾洛,使用語(yǔ)法與訪問(wèn)列表元素時(shí)使用的語(yǔ)法相同端考。
運(yùn)行結(jié)果,如下所示:
200
50
前面說(shuō)過(guò)却特,元組中的元素是不可修改的,如果我們刻意去修改元組的值裂明,會(huì)出現(xiàn)什么樣的錯(cuò)誤呢?
dimensions = (200, 50)
dimensions[0] = 410
print(dimensions)
運(yùn)行結(jié)果扳碍,如下所示:
Traceback (most recent call last):
File "d:/github/Python_base/第三章 操作列表/code/demo11.py", line 2, in <module>
dimensions[0] = 410
TypeError: 'tuple' object does not support item assignment
由于試圖修改元組的操作是被禁止的,因此Python指出不能給元組的元素賦值笋敞。
注意:嚴(yán)格的說(shuō),元組是由逗號(hào)標(biāo)識(shí)的赛惩,圓括號(hào)只是讓元組看起來(lái)更整潔、清晰趁餐。如果你需要定義一個(gè)只包含一個(gè)元素的元組,必須在元素后面加上逗號(hào)季惯。
遍歷元組中的所有值
像列表一樣臀突,同樣也可以使用for循環(huán)來(lái)遍歷元組中的所有值:
dimensions = (200, 50)
for dimension in dimensions:
print(dimension)
修改元組變量
雖然不能修改元組的元素,但是可以給存儲(chǔ)元組的變量賦值惧辈。因此,如果要修改元組的元素念逞,需要重新定義元組边翁。
dimensions = (200, 50)
print('原始數(shù)據(jù)')
for dimension in dimensions:
print(dimension)
print('修改后的數(shù)據(jù)')
dimensions = (400, 100)
for dimension in dimensions:
print(dimension)
運(yùn)行結(jié)果,如下所示:
原始數(shù)據(jù)
200
50
修改后的數(shù)據(jù)
400
100
相對(duì)于列表符匾,元組是更簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu),如果需要存儲(chǔ)一組值在程序的整個(gè)生命周期內(nèi)甸各,都不變焰坪,就可以使用元組。
設(shè)置代碼格式
隨著你編寫(xiě)的程序越來(lái)越長(zhǎng)某饰,有必要了解一些代碼格式設(shè)置約定善绎。請(qǐng)花時(shí)間讓你的代碼盡可能易于閱讀诫尽。這有助于你掌握程序是做什么的,也可以幫助他人理解你編寫(xiě)的代碼剂跟。
為了確保所有人寫(xiě)的代碼格式都差不多驹止,Python程序員會(huì)遵守一些格式設(shè)置的約定观蜗。學(xué)會(huì)編寫(xiě)整潔的Python之后,就能明白他人編寫(xiě)Python代碼的整體結(jié)構(gòu)墓捻。
這是你成為一名合格程序員的開(kāi)始。
格式設(shè)置指南
要提出Python語(yǔ)言修改建議撤卢,需要編寫(xiě)Python改進(jìn)提案梧兼。PEP8是最古老的PEP之一,向Python程序員提供了代碼格式設(shè)置指南羽杰。
縮進(jìn)
PEP8每級(jí)縮進(jìn)都使用4個(gè)空格,這既可以提高可讀性惕澎,又留下足夠的多級(jí)縮進(jìn)空間颜骤。
行長(zhǎng)
專業(yè)的程序員通常需要在一個(gè)屏幕打開(kāi)多個(gè)文件,為了使每一行代碼都在程序員的視線范圍內(nèi)忍抽,PEP8建議注釋行長(zhǎng)不應(yīng)該超過(guò)72個(gè)字符。
空行
要將程序的不同部分分開(kāi)干跛,可以使用空行锈锤。你應(yīng)該使用空行來(lái)組織程序文件闲询,但也不能濫用浅辙,比如說(shuō)你有5行代碼,前三行用于創(chuàng)建列表记舆,后兩行用于處理列表,那么你可以使用一個(gè)空行來(lái)分割這兩部分御蒲,而不是使用三四行空行來(lái)分割诊赊。
對(duì)于PEP8的格式來(lái)說(shuō)是特別豐富的,本文也無(wú)法全部寫(xiě)完碧磅,等到我們進(jìn)入更高級(jí)的Python結(jié)構(gòu)的時(shí)候再慢慢引入。
最后
沒(méi)有什么事情是可以一蹴而就的丰榴,生活如此秆撮,學(xué)習(xí)亦是如此!
因此盗蟆,哪里會(huì)有什么三天速成拨匆,七天速成的說(shuō)法呢姆涩?
唯有堅(jiān)持惭每,方能成功!
啃書(shū)君說(shuō):
文章的每一個(gè)字都是我用心敲出來(lái)的宏赘,只希望對(duì)得起每一位關(guān)注我的人黎侈。在文章末尾點(diǎn)【贊】,讓我知道贴汪,你們也在為自己的學(xué)習(xí)拼搏和努力。
路漫漫其修遠(yuǎn)兮扳埂,吾將上下而求索。
我是啃書(shū)君梅尤,一個(gè)專注于學(xué)習(xí)的人岩调,你懂的越多,你不懂的越多号枕。更多精彩內(nèi)容,我們下期再見(jiàn)邀跃!