python意外缩进引发逻辑错误_如何编写 Python 程序
如何編寫 Python 程序
從今以后,保存和運行 Python 程序的標準步驟如下:
對于 PyCharm 用戶
打開?PyCharm。
以給定的文件名創建新文件。
輸入案例中給出的代碼。
右鍵并運行當前文件。
注意:每當你需要提供?命令行參數(Command Line Arguments)時,點擊?Run?->?Edit Configurations?并在?Script parameters:?部分輸入相應參數,并點擊?OK?按鈕:
對于其他編輯器用戶
打開你選擇的編輯器。
輸入案例中給出的代碼。
以給定的文件名將其保存成文件。
在解釋器中通過命令?python program.py?來運行程序。
案例:使用變量與字面常量
輸入并運行以下程序:
# 文件名:var.py
i = 5
print(i)
i = i + 1
print(i)
s = '''This is a multi-line string.
This is the second line.'''
print(s)
輸出:
5
6
This is a multi-line string.
This is the second line.
它是如何工作的
下面是這一程序的工作原理。首先,我們使用賦值運算符(=)將字面常量數值?5?賦值給變量?i。這一行被稱之為聲明語句(Statement)因為其工作正是聲明一些在這一情況下應當完成的事情:我們將變量名?i?與值?5?相連接。然后,我們通過?print?語句來打印變量?i?所聲明的內容,這并不奇怪,只是將變量的值打印到屏幕上。查看Python的運算對象、運算符、表達式和語句的使用
接著,我們將?1?加到?i?變量所存儲的值中,并將得出的結果重新存儲進這一變量。然后我們將這一變量打印出來,并期望得到的值應為?6。
類似地,我們將字面文本賦值給變量?s,并將其打印出來。
針對靜態編程語言程序員的提示
變量只需被賦予某一值。不需要聲明或定義數據類型。
邏輯行與物理行
所謂物理行(Physical Line)是你在編寫程序時?你所看到?的內容。所謂邏輯行(Logical Line)是?Python 所看到?的單個語句。Python 會假定每一?物理行?會對應一個?邏輯行。
有關邏輯行的一個例子是諸如?print('hello world')?這樣一句語句——如果其本身是一行(正如你在編輯器里所看到的那樣),那么它也對應著一行物理行。
Python 之中暗含這樣一種期望:Python 鼓勵每一行使用一句獨立語句從而使得代碼更加可讀。
如果你希望在一行物理行中指定多行邏輯行,那么你必須通過使用分號(;)來明確表明邏輯行或語句的結束。下面是一個例子:
i = 5
print(i)
實際上等同于
i = 5;
print(i);
同樣可以看作
i = 5; print(i);
也與這一寫法相同
i = 5; print(i)
然而,我強烈建議你對于每一行物理行最多只寫入一行邏輯行。這個觀點就是說你不應該使用分號。實際上,我從未在 Python 程序中使用、甚至是見過一個分號。
在一類情況下這一方法會頗為有用:如果你有一行非常長的代碼,你可以通過使用反斜杠將其拆分成多個物理行。這被稱作顯式行連接(Explicit Line Joining)5:
s = 'This is a string. \
This continues the string.'
print(s)
輸出:
This is a string. This continues the string.
類似地,
i = \
5
等同于
i = 5
在某些情況下,會存在一個隱含的假設,允許你不使用反斜杠。這一情況即邏輯行以括號開始,它可以是方括號或花括號,但不能是右括號。這被稱作?隱式行連接(Implicit Line Joining)。你可以在后面當我們討論python列表(List)的章節時了解這一點。
縮進
空白區在 Python 中十分重要。實際上,空白區在各行的開頭非常重要。這被稱作 Python縮進(Indentation)。在邏輯行的開頭留下空白區(使用空格或制表符)用以確定各邏輯行的縮進級別,而后者又可用于確定語句的分組。
這意味著放置在一起的語句必須擁有相同的縮進。每一組這樣的語句被稱為?塊(block)。我們將會在Python教程后文章節的案例中了解塊這一概念是多么重要。
有一件事你需要記住:錯誤的縮進可能會導致錯誤。下面是一個例子:
i = 5
# 下面將發生錯誤,注意行首有一個空格
print('Value is', i)
print('I repeat, the value is', i)
當你運行這一程序時,你將得到如下錯誤:
File "whitespace.py", line 3
print('Value is', i)
^
IndentationError: unexpected indent
# 縮進錯誤:意外縮進
你會注意到第二行開頭有一個空格。Python 指出的錯誤信息告訴我們程序的語法是無效的,意即,程序沒有被正確地寫入。這一信息對你的意義是?你不能任意開始一個新的語句塊(當然,除非你一直在使用默認的主代碼塊)。你可以使用新塊的情況將會在后面諸如控制流等章節加以介紹。
如何縮進
使用四個空格來縮進。這是來自 Python 語言官方的建議。好的編輯器會自動為你完成這一工作。請確保你在縮進中使用數量一致的空格,否則你的程序將不會運行,或引發不期望的行為。
針對靜態編程語言程序員的提示
Python 將始終對塊使用縮進,并且絕不會使用大括號。你可以通過運行?from __future__ import braces?來了解更多信息。
總結
現在我們已經了解了諸多本質性的細節,我們可以前去了解控制流語句等更多更加有趣的東西。記得一定要充分理解你在本章所閱讀的內容。
總結
以上是生活随笔為你收集整理的python意外缩进引发逻辑错误_如何编写 Python 程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 楚留香怎么倒基金
- 下一篇: 王者荣耀老夫子怎么玩(如何玩好《王者荣耀