- 首頁(yè)|
- 網(wǎng)校|
- 焚題庫(kù)|
- APP |
-
微信公眾號(hào)
如何利用python進(jìn)行縮進(jìn)
以縮進(jìn)來(lái)表示代碼塊,是python的特色,對(duì)養(yǎng)成好的編程習(xí)有非常大的幫助,那么python如何縮進(jìn) 呢?一起來(lái)了解下吧:
python如何縮進(jìn)
你需要記住的一樣?xùn)|西是錯(cuò)誤的縮進(jìn)會(huì)引發(fā)錯(cuò)誤。例如:
i = 5
print 'Value is', i # Error! Notice a single space at the start of the line
print 'I repeat, the value is', i
當(dāng)你運(yùn)行這個(gè)程序的時(shí)候,你會(huì)得到下面的錯(cuò)誤:
File "whitespace.py", line 4
print 'Value is', i # Error! Notice a single space at the start of the line
^
SyntaxError: invalid syntax
注意,在第二行的行首有一個(gè)空格。Python指示的這個(gè)錯(cuò)誤告訴我們程序的語(yǔ)法是無(wú)效的,即程序沒(méi)有正確地編寫(xiě)。它告訴你, 你不能隨意地開(kāi)始新的語(yǔ)句塊 (當(dāng)然除了你一直在使用的主塊)。何時(shí)你能夠使用新塊,將會(huì)在后面的章節(jié),如控制流中詳細(xì)介紹。
如何縮進(jìn)
不要混合使用制表符和空格來(lái)縮進(jìn),因?yàn)檫@在跨越不同的平臺(tái)的時(shí)候,無(wú)法正常工作。我 強(qiáng)烈建議 你在每個(gè)縮進(jìn)層次使用 單個(gè)制表符 或 兩個(gè)或四個(gè)空格 。
選擇這三種縮進(jìn)風(fēng)格之一。更加重要的是,選擇一種風(fēng)格,然后一貫地使用它,即 只 使用這一種風(fēng)格。
Python的縮進(jìn)應(yīng)該是一個(gè)優(yōu)點(diǎn),剛開(kāi)始可能不是非常的習(xí)慣,慢慢就行了!
當(dāng)你看別人的Python代碼的時(shí)候,你就會(huì)深切感受到縮進(jìn)的好處。
另外,Python的縮進(jìn)可以在一定程度上防止大量的代碼堆積在一起,客觀上促使形成良好的代碼風(fēng)格
Py的哲學(xué)同Perl/ruby的不同。它不會(huì)給你很多功能,然后警告你說(shuō),這個(gè)這個(gè)最好別用,那個(gè)那個(gè)得注意了。它認(rèn)為凡是它提供給你的,都是給你用的,只要符合它的語(yǔ)法規(guī)范,隨便怎么用都可以。如果你能寫(xiě)出爛代碼,那說(shuō)明這個(gè)設(shè)計(jì)有問(wèn)題。這是一種負(fù)責(zé)任的態(tài)度。
{} 可以允許程序員寫(xiě)出很爛的代碼,而這與Py的哲學(xué)不符。所以Py在設(shè)計(jì)之處就規(guī)定,用縮進(jìn)而不是{}表示程序塊。
這并沒(méi)有什么不好的,在絕大多數(shù)情況下,縮進(jìn)比{}更清楚。
但是Py的縮進(jìn)也不是無(wú)往不利的。個(gè)人感覺(jué)有兩個(gè)地方不方便。
第一,粘貼代碼的時(shí)候修改縮進(jìn)不方便。但好在我有vi。
第二,html嵌套py代碼的時(shí)候,要同時(shí)維護(hù)兩套縮進(jìn),html的和py的。這個(gè)太困難了。我覺(jué)得這是妨礙PSP流行的最重要的原因。
不可否認(rèn),python的代碼一旦縮進(jìn)亂了,是無(wú)法重新格式化的。
python程序中怎么縮進(jìn)
Python的語(yǔ)法比較簡(jiǎn)單,采用縮進(jìn)方式,寫(xiě)出來(lái)的代碼就像下面的樣子:
# print absolute value of an integer:
a = 100
if a >= 0:
print(a)
else:
print(-a)
以#開(kāi)頭的語(yǔ)句是注釋?zhuān)⑨屖墙o人看的,可以是任意內(nèi)容,解釋器會(huì)忽略掉注釋。其他每一行都是一個(gè)語(yǔ)句,當(dāng)語(yǔ)句以冒號(hào):結(jié)尾時(shí),縮進(jìn)的語(yǔ)句視為代碼塊。
縮進(jìn)有利有弊。好處是強(qiáng)迫你寫(xiě)出格式化的代碼,但沒(méi)有規(guī)定縮進(jìn)是幾個(gè)空格還是Tab。按照約定俗成的管理,應(yīng)該始終堅(jiān)持使用4個(gè)空格的縮進(jìn)。
縮進(jìn)的另一個(gè)好處是強(qiáng)迫你寫(xiě)出縮進(jìn)較少的代碼,你會(huì)傾向于把一段很長(zhǎng)的代碼拆分成若干函數(shù),從而得到縮進(jìn)較少的代碼。
縮進(jìn)的壞處就是“復(fù)制-粘貼”功能失效了,這是最坑爹的地方。當(dāng)你重構(gòu)代碼時(shí),粘貼過(guò)去的代碼必須重新檢查縮進(jìn)是否正確。此外,IDE很難像格式化Java代碼那樣格式化Python代碼。
最后,請(qǐng)務(wù)必注意,Python程序是大小寫(xiě)敏感的,如果寫(xiě)錯(cuò)了大小寫(xiě),程序會(huì)報(bào)錯(cuò)。
Python使用縮進(jìn)來(lái)組織代碼塊,請(qǐng)務(wù)必遵守約定俗成的習(xí)慣,堅(jiān)持使用4個(gè)空格的縮進(jìn)。在文本編輯器中,需要設(shè)置把Tab自動(dòng)轉(zhuǎn)換為4個(gè)空格,確保不混用Tab和空格。
Python縮進(jìn)快捷鍵
1.Python增加縮進(jìn)快捷鍵:Ctrl+Alt+] 或tab鍵或shift+tab鍵
2.Python減少縮進(jìn)快捷鍵:Ctrl+Alt+[
python代碼如何縮進(jìn)
Python最具特色的是用縮進(jìn)來(lái)標(biāo)明成塊的代碼。我下面以if選擇結(jié)構(gòu)來(lái)舉例。if后面跟隨條件,如果條件成立,則執(zhí)行歸屬于if的一個(gè)代碼塊。
先看C語(yǔ)言的表達(dá)方式(注意,這是C,不是Python!)
if ( i > 0 )
{
x = 1;
y = 2;
}
如果i > 0的話,我們將進(jìn)行括號(hào)中所包括的兩個(gè)賦值操作。括號(hào)中包含的就是塊操作,它隸屬于if。
初級(jí)會(huì)計(jì)職稱(chēng)中級(jí)會(huì)計(jì)職稱(chēng)經(jīng)濟(jì)師注冊(cè)會(huì)計(jì)師證券從業(yè)銀行從業(yè)會(huì)計(jì)實(shí)操統(tǒng)計(jì)師審計(jì)師高級(jí)會(huì)計(jì)師基金從業(yè)資格稅務(wù)師資產(chǎn)評(píng)估師國(guó)際內(nèi)審師ACCA/CAT價(jià)格鑒證師統(tǒng)計(jì)資格從業(yè)
一級(jí)建造師二級(jí)建造師消防工程師造價(jià)工程師土建職稱(chēng)房地產(chǎn)經(jīng)紀(jì)人公路檢測(cè)工程師建筑八大員注冊(cè)建筑師二級(jí)造價(jià)師監(jiān)理工程師咨詢(xún)工程師房地產(chǎn)估價(jià)師 城鄉(xiāng)規(guī)劃師結(jié)構(gòu)工程師巖土工程師安全工程師設(shè)備監(jiān)理師環(huán)境影響評(píng)價(jià)土地登記代理公路造價(jià)師公路監(jiān)理師化工工程師暖通工程師給排水工程師計(jì)量工程師
人力資源考試教師資格考試出版專(zhuān)業(yè)資格健康管理師導(dǎo)游考試社會(huì)工作者司法考試職稱(chēng)計(jì)算機(jī)營(yíng)養(yǎng)師心理咨詢(xún)師育嬰師事業(yè)單位教師招聘公務(wù)員公選考試招警考試選調(diào)生村官
執(zhí)業(yè)藥師執(zhí)業(yè)醫(yī)師衛(wèi)生資格考試衛(wèi)生高級(jí)職稱(chēng)護(hù)士資格證初級(jí)護(hù)師主管護(hù)師住院醫(yī)師臨床執(zhí)業(yè)醫(yī)師臨床助理醫(yī)師中醫(yī)執(zhí)業(yè)醫(yī)師中醫(yī)助理醫(yī)師中西醫(yī)醫(yī)師中西醫(yī)助理口腔執(zhí)業(yè)醫(yī)師口腔助理醫(yī)師公共衛(wèi)生醫(yī)師公衛(wèi)助理醫(yī)師實(shí)踐技能內(nèi)科主治醫(yī)師外科主治醫(yī)師中醫(yī)內(nèi)科主治兒科主治醫(yī)師婦產(chǎn)科醫(yī)師西藥士/師中藥士/師臨床檢驗(yàn)技師臨床醫(yī)學(xué)理論中醫(yī)理論