Python 關鍵字和識別符號
Jinku Hu
2023年1月30日
2018年3月2日
在本節中,我們來討論 Python 關鍵字和識別符號。
Python 關鍵字
Python 關鍵字是具有特殊含義,而且不能用於命名任何變數、函式、類等的預先內部佔用的字元。關鍵字也被稱為保留單詞,它們實際上是為 Python 的自身的功能保留的。
Python 有 33 個區分大小寫的關鍵字。除 True
,False
和 None
外,其中大部分都以小寫字母寫入。以下是 Python 關鍵字列表:
關鍵字 | 說明 |
---|---|
class |
類 - Python 物件導向程式設計中的類 |
as |
經常同 import 以及 with 配合使用,用新的名稱來代替匯入或開啟的物件 |
and |
邏輯與操作符 |
assert |
檢查語句是否為 True |
break |
用來跳出迴圈操作,比如 for 、while 迴圈 |
continue |
中止當前迴圈的該次操作,跳到迴圈的下一個次操作 |
def |
定義函式關鍵字 |
del |
刪除物件操作符 |
elif |
迴圈條件檢查,意思=else if |
else |
當 if 條件不為 True 的時候,else 裡面的語句就會被執行 |
except |
處理異常 |
finally |
finally 從句中的內容無論異常是否發生都會被執行,用來做一些清理工作 |
for |
for 迴圈 |
from |
匯入 Python 模組,語法為 from ... import ... |
global |
宣告一個全域性變數 |
if |
if 宣告,當條件為 True 時,if 下的語句才會被執行 |
import |
從模組中匯入函式、類或者變數 |
in |
1. 成員物件檢查操作符 2. 遍歷序列中的物件, for x in SequenceObject |
is |
檢查兩個變數是否指向同一記憶體物件 |
lambda |
建立 lambda 函式,也稱為匿名函式 |
not |
邏輯非操作符 |
or |
邏輯或操作符 |
pass |
空操作符,類似於組合語言中的 nop |
raise |
觸發異常 |
return |
返回,從函式中返回 |
try |
try...except 檢查 try 語句中的錯誤,有錯誤的話,except 會捕獲並處理異常 |
while |
while 迴圈 |
with |
替代 try...finally... |
yield |
類似於 return ,但返回的是一個發生器 generator |
nonlocal |
宣告變數為非內部變數,在巢狀式的函式中,變數被宣告為 nonlocal 後,該變數可被外層的函式呼叫 |
None |
空變數 null |
True |
布林值-真 |
False |
布林值-假 |
Python 識別符號
Python 識別符號是函式、變數、類等的名稱。Python 保留字比如關鍵字不允許作為為識別符號的名稱。
命名識別符號的規則
- 識別符號可以包含字母(大寫或小寫),數字(0-9)或下劃線(_),例如,
last_name1
,my_first_name
和CapName
是合法識別符號。 - 識別符號不能以數字來開頭,例如,
1last_name
是非法識別符號。 - 關鍵字不允許作為為識別符號的名稱。
- 識別符號中不允許使用諸如
$, !, @, #, %
等特殊符號。 - Python 識別符號沒有長度限制。
- Python 識別符號中不允許出現空格。
識別符號要點
- 由於 Python 區分大小寫,所以大寫和小寫的變數是不同的。比如
last_name
和LAST_name
是兩個不同的變數。 - 使用有意義的變數名稱,提高程式的可讀性。
- 如果變數中包含多個單詞,它們應該用下劃線分開。
- 或者你可以用駝峰式大小寫,也就是每個單詞的首字母大寫,例如
CapitalizedWords
。
Author: Jinku Hu
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn