- Python編程基礎與應用
- 李方園主編
- 1934字
- 2021-10-27 16:38:15
1.2.3 語法規則

1-4 語法規則
1.Python標識符
在Python語言中,變量名、函數名、對象名等都是通過標識符來命名的。標識符第一個字符必須是英文字母或下畫線“_”,標識符的其他部分由字母、數字和下畫線組成。Python中的標識符是區分大小寫的。在Python 3.x中,非ASCII標識符也是允許的,例如:data_人數=100中的“data_人數”為含漢字的標識符。
標識符的命名規則解釋如下。
1)標識符是由字符(A~Z和a~z)、下畫線和數字組成的,但第一個字符不能是數字。
2)標識符不能和Python中的保留字相同。
保留字即關鍵字,保留字不能用作常量或變量,也不能用作任何其他標識符名稱。
Python的標準庫提供了一個keyword module,可以輸出當前版本的所有關鍵字:

所有的保留字,如表1-1所示。
表1-1 Python保留字一覽表

由于Python是嚴格區分大小寫的,保留字也不例外。所以,if是保留字,但IF就不是保留字。在實際開發中,如果使用Python中的保留字作為標識符,則解釋器會提示“invalid syntax”的錯誤信息,圖1-19所示就是將保留字if當變量而報錯。

圖1-19 保留字if當作變量
3)標識符中不能包含空格、@、%以及 $ 等特殊字符。
例如,下面所列舉的標識符是合法的:

但以下命名的標識符不合法:

4)標識符中的字母是嚴格區分大小寫的,即使兩個同樣的單詞,如果大小寫不一樣,其代表的意義也是完全不同的。
例如,下面這3個變量就是毫無關系的,它們是相互獨立的個體。

5)以下畫線開頭的標識符有特殊含義,例如:
以單下畫線開頭的標識符(如_width),表示不能直接訪問的類屬性,其無法通過from…import* 的方式導入。
以雙下畫線開頭的標識符(如__add)表示類的私有成員。
以雙下畫線開頭和結尾的標識符(如__init__),是專用標識符。
因此,除非特定場景需要,應避免使用以下畫線開頭的標識符。
2.縮進和冒號
和許多程序設計語言(如Java、C語言)采用大括號“{}”分隔代碼塊不同,Python采用代碼縮進和冒號(:)來區分代碼塊之間的層次。對于類定義、函數定義、流程控制語句、異常處理語句等,行尾的冒號和下一行的縮進,表示下一個代碼塊的開始,而縮進的結束則表示此代碼塊的結束。
Python中可以使用空格或者Tab鍵實現代碼的縮進。但無論是手動敲空格,還是使用Tab鍵,通常情況下都是采用4個空格長度作為一個縮進量,因為在默認情況下一個Tab鍵就表示4個空格。
【例1-2】 體會代碼塊的縮進規則。

運算結果:

Python對代碼的縮進要求非常嚴格,同一個級別代碼塊的縮進量必須一樣,否則解釋器會報SyntaxError語法錯誤。
例如,對上面代碼做錯誤改動,如圖1-20所示,將位于同一作用域中的兩行代碼,它們的縮進量分別設置為4個空格和3個空格,可以看到,當手動修改了各自的縮進量后,會導致SyntaxError異常錯誤。

圖1-20 縮進規則不符導致的SyntaxError語法錯誤
在IDLE開發環境中,默認是以4個空格作為代碼的基本縮進單位。不過,這個值是可以手動改變的,在圖1-21所示的菜單欄中選擇“Options → Configure IDLE”命令,會彈出圖1-22所示的縮進規則對話框。

圖1-21 菜單欄

圖1-22 縮進規則對話框
如圖1-23所示,通過拖動滑塊,即可改變默認的代碼縮進量,如拖動至2,則當使用Tab鍵設置代碼縮進量時,會發現按一次Tab鍵,代碼縮進2個空格的長度。不僅如此,在使用IDLE開發環境編寫Python代碼時,如果想設置多行代碼的縮進量,可以使用Ctrl+]和Ctrl+[快捷鍵,此快捷鍵可以使所選多行代碼快速縮進(或反縮進)。

圖1-23 改變默認的代碼縮進量
3.Python引號
Python接收單引號(')、雙引號(")、三引號(""")來表示字符串,引號的開始與結束必須是相同種類的引號。其中兩個三引號之間可以由多行文本組成,是編寫多行文本的快捷語法。

三引號常用于文檔字符串,在文件的特定位置,被當作注釋,具體見以下注釋。
4.Python注釋
注釋(Comments)是用來向用戶提示或解釋某些代碼的作用和功能,它可以出現在代碼中的任何位置。Python解釋器在執行代碼時會忽略注釋,不做任何處理,就好像它不存在一樣。
注釋的最大作用是提高程序的可讀性,還可以用來臨時移除無用的代碼。在一般情況下,合理的代碼注釋應該占源代碼的1/3左右。
Python支持兩種類型的注釋,分別是單行注釋和多行注釋。
(1)單行注釋
Python使用井號(#)作為單行注釋的符號,語法格式為:

從#標注開始,直到這行結束為止的所有內容都是注釋。
【例1-3】 說明多行代碼的功能時一般將注釋放在代碼的上一行。

運算結果:

【例1-4】 說明單行代碼的功能時一般將注釋放在代碼的右側。

運算結果:

(2)多行注釋
多行注釋指的是一次性注釋程序中多行的內容(包含一行)。Python使用3個連續的單引號'''或者三個連續的雙引號"""注釋多行內容。
無論是多行注釋還是單行注釋,當注釋符作為字符串的一部分出現時,就不能再將它們視為注釋標記,而應該看作正常代碼的一部分。
【例1-5】 注釋符作為字符串的一部分。

運算結果:

例中,第1行和第2行代碼,Python沒有將這里的3個引號看作是多行注釋符,而是將它們看作字符串的開始和結束標志;對于第3行代碼,Python也沒有將#看作單行注釋符,而是將它看作字符串的一部分。
- Learning Single:page Web Application Development
- OpenCV實例精解
- Android Studio Essentials
- AIRAndroid應用開發實戰
- Processing互動編程藝術
- 軟件架構:Python語言實現
- HDInsight Essentials(Second Edition)
- Scientific Computing with Scala
- 深入理解Elasticsearch(原書第3版)
- 青少年信息學競賽
- C++20高級編程
- Scratch3.0趣味編程動手玩:比賽訓練營
- Hands-On GUI Programming with C++ and Qt5
- Access 2010數據庫應用技術實驗指導與習題選解(第2版)
- Beginning C# 7 Hands-On:The Core Language