# Python常用語法(1) ### ***python學起來並不難,難是難在讓你把教學看完*** ### ***by 幻宇*** ## 註解 在開始之前先來講一下怎麼在程式碼中插入註解,來方便我們閱讀,插入註解時只要在註解前面打上`#`,程式就會判斷`#`後面的內容不是程式碼,該功能只限與`#`的那一行 ```python print("Hello, World!") # 輸出:Hello, World! ``` 這樣可以讓我們更直觀的了解到程式碼的功能 ## 變數 ### 變數命名規則: - 變數名稱只能用**字母**、**數字**和**底線** - **第一個字母不能是數字** - **不能用程式碼保留字**(if、print、for......) ### 變數指派 Python變數不用宣告,依指派值自動設定資料型態。 指派方法: `變數名稱 = 指派值` 範例: ```python a = 1 #可以多變數同時指派 a = b = c = 10 #同一行指派多個變數 name, number = ‘huanyu’, 24 ``` ## 文字輸入輸出 ### 輸出 使用`print()`函數來輸出 ```python print("Hello, World!") #也可以用變數 a = 123 print(a) #123 ``` ### 輸入 使用`input()`函數輸入,輸入的資料,型態必為**字串(str)** ```python ans = input("請輸入文字") ``` 函數內部也可以不放提示文字 ## 資料型態 Python 資料型態有以下三種 - **數值**型態(Numeric Data Types):整數int、浮點數float、布林值bool - **字串**型態(String Data Types):字串str,字元chr - **容器**型態(Container Types):列表list,字典dict,元組tuple,集合set ### 型態轉換函數 `int()`:轉為整數 `float()`:轉為浮點數 `str()`:轉為字串 `chr()`:轉為字元 ## 運算式與運算子 ### 運算式 遵守先乘除後加減,括號內先算等算術規則 ### 運算子 這裡只會列出幾種常用的運算子,詳細內容將會整理在下一篇**python運算子(operator)** - **算數**運算子(Arithmetic Operators) `+`、`-`、`*`、`/` - **比較**運算子(Comparison Operators) `==`、`>=`、`<=`、`!=` - **邏輯**運算子(Logical Operators) `and`、`or`、`not` - **賦值**(**指定**)運算子(Assignment Operators) `=`、`+=`、`-=`、`*=`、`/=` ## if條件判斷 ### if敘述 語法: ``` if 條件式: 程式區塊 ``` 條件式後需搭配冒號`:` 程式區塊以縮排方式處理(空四格,也就是一個`Tab`),同一層縮排視為同一程式區塊 範例: ```python a = 2 b = 1 if a > b: print("a>b") ``` ### if...elif... 語法: ``` if 條件式: 程式區塊 elif 條件式: 程式區塊 ``` `elif`是`else if`的簡寫的功能和`if`相同,必須接在`if`後面,elif`通常用在要判斷的事物不只一種可能結果的時候,而且`elif`可以同時存在好幾個 範例: ```python a = 2 b = 1 if a > b: print("a>b") elif a < b: print("a<b") ``` ### if...else... 語法: ``` if 條件式: 程式區塊 else: 程式區塊 ``` `else`可以解釋為其他,也就是說如果條件式結果都為`False`時就執行`else`底下的程式區塊,也就是所謂的**例外處理** 範例: ```python a=1 if a==0: print("1") else: print("0") ``` ### if...elif...else... 將前面三種語法集合在一起的,這裡就不在多做解釋了 範例: ```python a = 2 b = 1 if a > b: print("a>b") elif a < b: print("a<b") else: print("a=b") ``` ## for ### for次數迴圈 語法: ``` for 變數 in range(起始值,結束值,間隔值): 要執行程式碼內容 ``` 起始值預設為0,間隔值預設為1,兩者皆可省略不設,而變數則會被設為`range()`當時的值,這個變數也可以在迴圈內使用要注意不要和迴圈外的變數混淆 範例: ```python for i in range(5): print(i) ``` ### for遍歷迴圈 語法: ``` for 變數 in 序列: 程式區塊 ``` 變數會依序設為序列中的元素,序列可為、字串、列表、元組、字典、集合,通常變數會再拿來使用 範例: ```python for i in "Hello, World!": print(i) ``` ## while 語法: ``` while 條件式: 程式區塊 ``` 和`if`有些類似,差別在於`while`會重複執行程式區塊直到條件式為`False`,程式區塊執行完會回頭檢查條件式是否成立,若條件成立,程式區塊繼續執行,當然,你也可以不放條件式直接放`True`,他就會一直執行,也就是所謂的無限迴圈 範例: ```python a = 1 b = 2 while a < b: print("a < b") ``` ## break 迴圈脫離 有時迴圈還未執行完,但因為某些原因要停止迴圈時,我們就會需要用到迴圈脫離的功能,也就是`break`,`break`會讓程式強制脫離當下正在執行的迴圈,但若有多層迴圈的話僅終止`break`所在的迴圈 ```python a = 1 while True: print(a) a += 1 if a == 10: break for i in range(4): for n in range(4): if i % 2 == 0: break print(i) ``` ## continue 迴圈跳過 有時迴圈當下在執行的內容並不是我們想要的時候,就可以用迴圈跳過`continue`的功能直接執行下一個迴圈內容 範例: ```python for i in range(11): if i % 2 == 1: continue print(i) ``` ## 實做練習 完成以下條件 1. 做一個簡單的計算機,功能是加減乘除 2. 不須重啟就能一直使用 3. 不要出現沒有回應的情況 運行結果範例: ``` 加法代碼:1 減法代碼:2 乘法代碼:3 除法代碼:4 請輸入運算代碼1 請輸入數字1 請輸入數字1 2 請輸入運算代碼 ``` ## [下一篇](https://hackmd.io/@Huanyu763/Python運算子) ## [回到主頁](https://hackmd.io/@Huanyu763/home)