2022年5月31日 星期二

Python Keywords

 Python Keywords

2022/05/30

-----


https://pixabay.com/zh/photos/cars-blue-red-parking-parked-dual-1578513/

-----

Python 的關鍵字(或稱為保留字)共有 35 個 [1] - [5],依類型可以分為 10 類 [3]。讀者可以看一下中英文的關鍵字說明 [1], [2],或者用範例來學習這些關鍵字的用法 [4], [5]。關鍵字的排序依 ASCII Code [6] 由小到大,所以前三個字首為大寫 [5]。


關鍵字的練習可以參考 [4], [5]。本篇文章主要是選出幾個主要關鍵字與類型,用九九乘法表的 Python 實作 [7],來說明本篇文章要呈現的主題:寫程式的四個主要觀念。


寫程式最主要的觀念有四個,分別是陳述、分支、迴圈,以及模組。


觀念一:陳述(return、print)

觀念二:分支(if、else)

觀念三:迴圈(for)


觀念四:模組(def)


陳述是最基本的。一個指令一個動作。一步一步往前進、往下走。

但有時會遇到叉路,這時要往左走或者往右走呢?這個是分支。

有時候為了某種緣故,會原地繞圈圈。這個是迴圈。

最後,可以重複使用的,把它獨立出來,要用的時候,再去呼叫,這個是模組的概念。

讓我們先看一下圖一與代碼一吧。

-----


Fig. 1. 九九乘法表 [7]。

-----

代碼一:

# 陳述、分支、迴圈、與模組

def MUL(a, b):  # 乘法的函式(列印兩數相乘的等式)
    if (a*b) < 10:  # 如果相乘的結果小於 10
        print(f'{a}x{b}= {a*b}',end=' ') # 多一個空格
    else: # 否則
        print(f'{a}x{b}={a*b}',end=' ') # 不用多一個空格
    return  # 返回主程式

for a in range(1, 10):  # a 從 1 到 9
    for b in range(1, 10):  # b 從 1 到 9
        MUL(a, b) # 呼叫乘法的函式(不換列)
    print('') # 換列(習慣上是叫做換行)

-----

代碼一是九九乘法表的程式。# 字號後面是註解,用來說明而已。九九乘法表算是很簡單的程式,本例因讀者鎖定為初學者,所以寫得特別詳細。註解一般適量即可。


主程式最後是一個換列的陳述,函式 MUL 最後是返回的陳述。

MUL 裡面有一個分支結構,用來判斷相乘的結果是不是個位數。

主程式是一個兩層的迴圈。一乘以一到一乘以九,做九次,換列。然後這樣的步驟也是做九次。

相乘與列印結果的部分,抽出來寫成 MUL。

大部分的程式,都可以拆解成以上四個元素的組成。

-----

類型一、All Keywords(除了類型二、三、四以外的所有關鍵字)

類型二、Conditional Keywords(if、else、elif)

類型三、Loop Keywords(for、while、break、continue)


類型四、Structure Keywords(def、class、with、as、pass、lambda、return、yield)


類型一對應到陳述。類型二對應到分支。類型三對應到迴圈,類型四對應到模組。

以上,試著把程式設計,最精華(或者說最核心、最難?)的部分,寫的簡單一點。

值得注意的是,print 從 Python 2.X 中的保留字,在 3.X 中已經改為內建函數 [1]。

-----

Appendix A.


# Python 保留字

「'False', 'None', 'True', 

'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'」[5]。

-----

Appendix B.


# 十類關鍵字

「Python Keywords and Their Usage

Value Keywords: True, False, None

Operator Keywords: and, or, not, in, is

Control Flow Keywords: if, elif, else

Iteration Keywords: for, while, break, continue, else

Structure Keywords: def, class, with, as, pass, lambda

Returning Keywords: return, yield

Import Keywords: import, from, as

Exception-Handling Keywords: try, except, raise, finally, else, assert

Asynchronous Programming Keywords: async, await

Variable Handling Keywords: del, global, nonlocal」[3]。

-----

References


# 關鍵字描述(中文)

[1] Python保留字(關鍵字)一覽表

https://tw511.com/a/01/3236.html


# 關鍵字描述(英文)

[2] Python Keywords

https://www.w3schools.com/python/python_ref_keywords.asp


# 關鍵字分類(十類)

[3] Python Keywords: An Introduction – Real Python

https://realpython.com/python-keywords/


# 範例(另有完整的教學)

[4] List of Keywords in Python Programming

https://www.programiz.com/python-programming/keyword-list


# 範例(另有完整的教學)

[5] Python Keywords - GeeksforGeeks

https://www.geeksforgeeks.org/python-keywords/


# 大小寫

[6] ASCII - 維基百科,自由的百科全書

https://zh.wikipedia.org/wiki/ASCII


# 陳述、分支、迴圈、與模組

[7] 九九乘法表 - Python 教學 | STEAM 教育學習網

https://steam.oxxostudio.tw/category/python/example/9x9-table.html


# format

[8] python打印的時候print(f"*******") 的括號裡的f' ' 是什麼意思? - peterwong666 - 博客園

https://www.cnblogs.com/peterwong666/p/11194810.html

-----

Python Machine Learning(目錄)

https://mandhistory.blogspot.com/2022/05/python.html

-----

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。