2013-08-30 155 views
2

我正在閱讀關於python的教程here,並想知道如果for循環沒有像這樣的塊,我們將如何知道哪個代碼塊在for循環中。我們將不得不基於代碼的縮進來閱讀它嗎?還是我錯過了一些關於python的基礎知識?當我在for循環中嘗試使用notepad ++中的一些python代碼時,在我的代碼中間創建一個新行時,出於某種原因,它使代碼行及其上的所有代碼成爲一塊代碼,而其他所有代碼有些不同。我又錯過了什麼嗎?我希望這不是一個糟糕的編程習慣。for循環代碼塊

+5

您是否閱讀過該教程的第一章?這完全是關於縮進。 –

+0

@RohitJain不,我跳過它,直接翻譯到第2章的翻譯。我會回去的。 –

+0

@JackThor是的,它不僅僅是風格。它的語法在python – Cruncher

回答

6

Python在縮進時運行一切。縮進級別是如何知道什麼與什麼。

例如,這個工程:

for i in range(10): 
    print i 

但這吹了一個IndentationError

for i in range(10): 
print i 

docs:在

是空白(空格和製表符)邏輯 行的開頭用於計算lin的縮進級別e,其中 轉用於確定分組報表

+0

中,但是如果我在哪裏做的話,像這樣爲代碼添加一行代碼(for i in range(10); –

+0

@JackThor indentation *是你的大括號。如果您想在'for'循環中添加一行,請將它縮進與'print i'相同的級別。在for循環之後?恢復正常。希望另一個範圍內的東西已經縮進?再次縮進。 (還有一個建議,請使用空格,或者至少讓你的編輯器將製表符轉換爲空格。)如果你看一下示例Python代碼,這應該很快就會變得清晰。 – vroomfondel

+0

@JackThor我們使用'pass'爲空的複合語句:'爲我在範圍內(10):pass' –