[Python3 填坑] 003 關鍵字?保留字?預留字?
目錄
- 1. print( 坑的信息 )
- 2. 開始填坑
- (1) 問題的由來
- (2) 網上搜索
- (3) 最終結論
- (4) 後記
1. print( 坑的信息 )
- 挖坑時間:2019/01/04
- 明細
坑的編碼 | 內容 |
---|---|
Py002-1 | Python 的“關鍵字”與“保留字”有沒有區別 |
2. 開始填坑
(1) 問題的由來
照理說,我不該這麽折騰。
就我淺薄的知識而言,說到編程語言中的“關鍵字”,最先想到的還是 C。可能是先入為主的關系,後來簡短地接觸過一些編程語言,多少感覺聽“關鍵字”比“保留字”更舒服,聽“函數”比“方法”更舒服。
大概是接觸 Java 時,知道了“關鍵字”與“保留字”存在音譯以外的不同:比如 goto、const 等 Java 中的“保留字”並不在“關鍵字”行列,雖沒有實際作用,但寫代碼時不能使用它們。
我這回學 Python3,並不是像以前那樣為了打發時間,而是想掌握這個有用的工具,所以想學得清楚明白。條件所限,我是買了書,在網上搜的課程學的,所以遇到問題時挖的坑說不好什麽時候能填平。
那麽,Python3 中的“關鍵字”與“保留字”,甚至還有“預留字”,到底有什麽關系?
(2) 網上搜索
(我姑且先稱其為“關鍵字”)
1 我在隨筆中寫了一種查看 Python3 中有多少關鍵字的方法:
help("keywords")
2 我發現,網友朋友們更多的是用以下方法:
import keyword
keyword.kwlist
3 我數了一下,他們列舉出來的是 33 個關鍵字,而我自己運行出來的是 35 個。然後我查了一下版本,Python3.7 的第一版大概是 2018 年年初發布的,3.7 有 35 個關鍵字,至於 33 個關鍵字的版本,可能是 3.4。其實我不用數,Python 官網中點 What’s New In Python 3.7
然後查找 keywords
就能看到:
async
and await
are now reserved keywords
(3) 最終結論
- Python3.7 的關鍵字、保留字還有預留字是同一種東西,畢竟英文都是”keywords“。
- 如果想單獨查看這些關鍵字,可以使用 help("***");如,想查”async“的更多信息,可以:
help("async")
(4) 後記
雖然我是一個人在學,但網上有這麽多誌同道合的朋友,我想,我並不是一座孤島。
我的學識有限,如果有同學、老師或者前輩看到我寫的東西,發現錯誤之處,還請不吝賜教!謝謝!
[Python3 填坑] 003 關鍵字?保留字?預留字?