###### [Python 教學/](/@NCHUIT/py) # Python簡介與基礎語法 > [name=VJ][time= 109,10,6] --- # 什麼是 Python? Python 是一種高階程式語言,強調程式碼的可讀性、簡潔的語法。 相比於 C++、Java,Python 能讓開發者用更短(簡易)的程式碼做到一樣的結果。 --- ## Python特色有哪些? :heavy_check_mark: 好理解:Python 是一種解釋型語言,瞭解結構之後,非常好理解。 :heavy_check_mark: 好偷懶:Python 可以輕鬆使用各式各樣的函式,短短的程式碼輕鬆搞定。 :heavy_check_mark: 好維護:Python 的架構很明確,非常容易維護。 --- ## Python缺點有哪些? :heavy_check_mark: 速度慢:Python 為了功能,犧牲效能。 :heavy_check_mark: 強制縮排:自有的縮排規則,新手很容易忽略而導致錯誤。 ###### *[參考來源](https://www.blink.com.tw/board/post/78610/)* --- ## Python 語法範例 ```python= # coding = utf-8 a = -1 b = True c = 'word' #我是註解 d = [a,b,c] print ('Hello world') inputs = input ('Enter sth...') ``` --- ### 其他語言(以C為例) ```c= #include<stdio.h> #include<stdbool.h> int main(){ int a = -1; bool b = true; char c[] = "word"; //我是註解 typedef struct {int a; bool b; char *c;} list; list d = {.a=a,.b=b,.c=c}; printf("Hello world\n"); char inputs[50]; printf("Enter sth..."); scanf("%s",inputs); return 0; } ``` --- 總而言之,Python 比 C/C++、JAVA 等其他語言更高階,更貼合自然語言,語法更為簡單。並且有極大量的函式庫,在寫任何功能都可以很方便的使用。 --- ## 環境設置 先下載[Python本體](https://www.python.org/downloads/),然後選一個IDE安裝,請參閱 - [本體安裝教學](https://medium.com/@ChunYeung/%E7%B5%A6%E8%87%AA%E5%AD%B8%E8%80%85%E7%9A%84python%E6%95%99%E5%AD%B8-1-%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%9Dpython-126f8ce2f967) - [colab](https://colab.research.google.com/) - [Pycharm安裝教學](https://medium.com/@ChunYeung/%E7%B5%A6%E8%87%AA%E5%AD%B8%E8%80%85%E7%9A%84python%E6%95%99%E5%AD%B8-1-%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%9Dpython-126f8ce2f967) --- # 基礎語法 --- ## 資料型態 ###### *詳細參閱: [Python內建資料型態](https://docs.python.org/zh-tw/3/library/stdtypes.html)* Python有這些常用的資料型態: 1. Number (數字) - int (整数), float (浮點數), complex (複數) 2. String (字串) 3. List (串列) 4. Dictionary (字典) 5. Tuple (元组) 6. Set (集合) --- Python宣告變數時不用像其他程式刻意指定型態 ```python= a = 100 b = True c = 'word' #注意 Python 的字串用''或""都可以 d = [-1,False,c] e = {'mon':'mother','dad':'father'} ``` ### 練習01 宣告一個字串"practice 1"並列印出來 --- 如果你想指定也是可以,指定資料型態會強制轉型 ```python= a = int(7942) b = bool(0) #同 b = False 另 0,'',None 以外的變數會轉為 True c = float(True) #同 c = 1.0 ``` --- ## 輸出和輸入 Python 的輸出和輸入沒有那麼複雜 ```python= print ('輸出內容') a = input ('輸入提示') #input() 在程式中被當作一個字串變數 print ('你輸入了:', a) ``` --- 使用 print 後都會自動換行,如果不想換行,要指定結尾字串 ```python= print ('第一個 print\n', end = '第一個 print 結尾') #\n: 換行 print ('第二個 print', end = None) #None 在這邊會換行 ``` --- 如果想要知道變數為什麼型態,請使用 ```python= print (type(a)) #type(): 用於取得變數資料型態 ``` --- ::: spoiler 練習 02 例 ```python= a = int(input('輸入整數:')) print('你輸入了:\n',a) ``` ::: 試寫一支程式讓使用者輸入***整數*** 然後輸出它。 --- ::: spoiler 練習 03 例 ```python= a = input('輸入字串:') #input() 是字串 b = float(input('輸入浮點數:')) print('你輸入了:\n',type(a),a,'\n和\n',type(b),b) ``` ::: 試寫一支程式讓使用者輸入***字串*** 與***浮點數*** 然後輸出它們跟它們對應的資料類型。 --- ## 運算元 Python 的運算遵循四則運算,會先乘除後加減 | 算數運算 | 加 | 減 | 乘 | 除 | | -------- | --- | --- | --- | --- | | 符號 | + | - | \* | / | | 整除 | 取餘 | 次方 | | ---- | ---- | ---- | | // | % | ** | --- | 邏輯運算 | 且 | 或 | 非 | 比較資料類型 | | -------- | --- | --- | --- | ---- | | 符號 | and | or | not | is | | 算數邏輯運算 | 大於 | 小於 | 等於 | | ------------ | ---- | ---- | ---- | | 符號 | > | < | == | | 不小於 | 不大於 | 不等於 | | ------ | ------ | ------ | | >= | <= | != | --- ### 範例 ```python= a = 3 b = 27 print(a+b, a-b, a*b, b/a, b%a) #輸出: 30 -24 81 9.0 0 print(a>b, a<b, a==b, a>=b, a<=b) #輸出: False True False False True print((a**a is b) and (not (a == b))) # 3**3 is 27 -> True # not(a == b) -> not(False) -> True # (True) and (True) -> True #輸出: True ``` --- ## 條件運算 | 語法 | 說明 | | ------ | --- | | `if()` | ``()``中條件成立時執行 | | `elif()` | 上一個`if()`或`elif()`不成立時``()``中條件成立時執行,可無限接續 | | `else` | 上一個`if()`或`elif()`不成立時執行 | --- ### 範例 ```python= a = input('輸入數字正負: ') if(int(a)>0): print (a,'是正數') elif(int(a)<0): print (a,'是負數') else: print (a,'是 0') #如果執行區塊只有一行可以這樣縮寫 ``` #### 單行簡寫 ```python= c = input('資訊社的簡寫是什麼? ')=='NCHUIT' print ('正確') if (c) else print('不正確') x = '喜' if (c) else '怒' print (x) ``` --- ::: spoiler 練習 例 ```python= w = float(input ('請輸入體重: ')) h = float(input ('請輸入身高: ')) bmi = w/h**2 print ('BMI:', bmi, '體重 ',end='') if(bmi<18.5): print ('過輕') elif(bmi<24): print ('正常') elif(bmi<27): print ('過重') elif(bmi<30): print ('輕度肥胖') elif(bmi<35): print ('中度肥胖') else: print ('重度肥胖') ``` 或者... ```python= bmi = float(input ('請輸入體重(kg): '))/(float(input ('請輸入身高(cm): '))/100)**2 print ('BMI:', bmi, '體重 ',end='') print ('過輕') if(bmi<18.5) else print ('正常') if(bmi<24) else print ('過重') if(bmi<27) else print ('輕度肥胖') if(bmi<30) else print ('中度肥胖') if(bmi<35) else print ('重度肥胖') ``` ::: 試寫一個 BMI 計算器 *[BMI-wiki](https://zh.wikipedia.org/wiki/%E8%BA%AB%E9%AB%98%E9%AB%94%E9%87%8D%E6%8C%87%E6%95%B8)* BMI值計算公式: BMI = 體重(kg) / 身高^2^(m^2^) 例如一個52公斤的人,身高是155公分,則BMI為: 52/1.552^2^ = 21.6 (kg/m^2^) 體重正常範圍為 BMI=18.5~24 --- ::: spoiler 練習 例 ```python= y = int(input ('輸入1個整數讓程式判斷是否為閏年: ')) if(y%4==0 and y%100!=0 or y%400==0): print ('閏年') else: print ('平年') ``` ::: [閏年](https://zh.wikipedia.org/wiki/闰年)判斷,輸入1個整數讓程式判斷是否為閏年 閏年定義: 4的倍數是閏年,但100的倍數不是閏年,400的倍數是閏年 範例 ``` 輸入: 1600 輸出: 閏年 ``` ``` 輸入: 1000 輸出: 平年 ``` --- ## 先這樣 提醒各位,Python 以外的語言(例如C) 字串記得用回 ```""``` <style>hr{display:none;}</style>
{"metaMigratedAt":"2023-06-15T13:45:50.359Z","metaMigratedFrom":"YAML","title":"簡介與基礎語法 - Python 教學","breaks":true,"description":"中興大學資訊研究社1091學期程式分享會主題社課","contributors":"[{\"id\":\"de8e7839-dcf2-4d44-a4b5-080015e10202\",\"add\":563,\"del\":563},{\"id\":\"e86b6571-4dea-4aa4-ba20-ece559b0e015\",\"add\":17412,\"del\":19065},{\"id\":\"4c23290c-4304-45d6-9c21-163639f3ac69\",\"add\":439,\"del\":349}]"}
    852 views
   Owned this note