3 回答

TA貢獻165條經驗 獲得超90個贊
我就不按照 這個課程中的課件講了,跟著題主的疑問一個個展開,盡量講的詳細,以供 猿問Python去的后來者參考, 如果講的不對,請諸位在下面指正,我改正。
代碼什么時候需要縮進呢?
##?還是在Python?代碼格式中?用注釋的形式解答。 ##?什么時候需要縮進呢,?簡單來說?前面一句的最后一個字符是?冒號的時候,需要縮進,那什么語句最后是冒號呢: if?a>b: elif?b>c else: for?i?in?range(10): while?a>b: def?check_new(arg): class?Cookbook(Object): ##?等等這些吧,?他們都是可以包含自己的代碼塊的,也就是?需要縮進的部分。
如圖從print才開始縮進的,為什么前面的代碼不縮進呢?
##?Python?的縮進是?有層級的,?前面的語句并不是屬于?某些語句的?子語句或者說代碼塊,所以是不需要縮進的,? ##?而前兩個?print?則屬于?if?語句的子語句,?因為我們想要的邏輯就是?符合?if?語句后面的條件?才print?,?所以 ##?需要?縮進到?if?語句里面。
還有為什么不要用tap(tab)呢?
##?題主應該說的是tab?吧,?好多Python?入門課程?都不建議用tab?縮進,?這個說法當然是正確的,?但是現在幾乎所有的 ##?IDE?或者?文本編輯器,?在寫Python?是?都會將?tab?當做?特定數量的空格,一般是四個。?也就是說我們輸入tab和輸 ##?入四個空格是一樣的,所以一般情況下?都是可以使用tab?的。
另外print語句前的 ··· 有什么作用呢?
##?print?語句前面的...?只是在課件?表示縮進的標志,?沒有其他意義。?題主在自己寫代碼是,不需要這些點。
為什么有一行只有 ··· 呢?
##?只有一行有?...?是說明if?語句及其包含的代碼塊?跟最下面的print?之間多了個空行,?因為在shell?里面?不加空行 ##?的話,會認為?最后面的print?還在?if?語句的代碼塊中,?就會報縮進錯誤。

TA貢獻1條經驗 獲得超1個贊
兩行print表示如果滿足if后面的條件才執行,這兩行是一個代碼塊。如果if后面的條件不滿足, 就直接跳過這兩句print,不會輸出。不用tab是因為用空格的話任何人用任何編輯器查看代碼都是對齊的,包括網頁上查看(比如在GitHub上看代碼)。很多用tab的代碼,在網頁上查看對齊就亂了。。不過只要不混用其實問題不大。。那個...只有在python交互環境下才有,就是告訴你你進入if條件或者for循環或者其他什么的,在編輯器里沒有

TA貢獻4條經驗 獲得超0個贊
代碼什么時候要縮進?
初學者的個人理解:你可以把代碼理解為window下的目錄一樣,縮進表示下級目錄
如果不縮進簡單的代碼還是可以運行的,但是會讓人(機器)很難讀,跟流水賬一樣,沒有邏輯性。
你要讓人(機器)明白先干什么再干什么。
為什么不要用tap呢?
你在什么地方寫代碼的呢?總不會是windows的txt吧?總要找個好一點編輯器打代碼吧。
所以不同的編輯器里tap鍵的設置不一樣~一般python的要求是一個tap是4個空格,所以做好用空格不大會錯,
你設置好了編輯器了也可以用tap了啊
?··· 有什么作用呢
這個是在python的交互環境下的東西,你換個ide就沒有了
添加回答
舉報