--- title : Python 入門教學 description: Python 入門教學 --- ## 基本概念 此處會說明基本的Python用法 ## 變數 變數,可想成儲存資料的容器,對於數學來說可用代數X、Y、Z理解。 ### 宣告變數 使用變數前需要先宣告: ```python= name = value ``` 其中,name 為變數名稱,value為變數值。 :::warning 請注意: ``=``為宣告時使用 `==` 為比較時使用 ::: ### 變數規則 變數名稱之首不能為數字,符號只能接受底線`_`,大小寫視為不同,可以有中文字,盡量為有意義的單字組合。 #### 保留字 宣告變數時不能使用 Python 的保留字 ![](https://hackmd.io/_uploads/B1QNnM7Y3.png) #### 習慣命名規則 習慣以英文單字做命名,每個單字首大寫,或者以`_`分隔 - userName - UserName - user_name ## 資料型態 | 型態 | 名稱 | |:-|:-| | int | 整數 | | float | 浮點數 | | str | 字串 | | bool | 布林值| ```python= number = 5 #為整數 string = "hello" #為字串 用" "或者''包起來的就是字串 string_2 = 'hello' #仍是字串 decimal = 0.24 #浮點數 flag = True #布林值 True 或 False ``` <!-- 我們可以使用`type()`來查看這個變數的資料型態 ```python= print(type(number)) #Output <class 'int'> ``` --> ### 轉換型態 使用`型態()`來轉換資料型態 ```python= num = "93" #原始為string num = int(num) #轉換為int pi = 3.14 #浮點數 pi = int(b) #只取整數 pi = 3 ``` ## 運算子 | 算術運算子 | 意義 | 比較運算子 | 意義 | 邏輯運算子 | 意義 | |:-|:-|:-|:-|:-|:-| | + | 加 | == | 相等 |and | 且 | | - | 減 | != | 不相等 |or | 或 | | * | 乘 | > | 大於 |not | 否定 | | / | 除 | >= | 大於等於 | | | | // | 整數除 | < | 小於 | | | | % | 取餘數 | <= | 小於等於 | | | | ** | 次方 || | | | :::warning 再次注意: ``=``為宣告時使用 `==` 為比較時使用 ::: ```python= a = 10+2 #12 b = 2**3 #8 c = 1/3 #0.3333333333 d = 1//3 #1 e = 8%3 #2 e = 1+2 == 3 #True f = 1+2 == "3" #False 因為兩者型態不同 g = Fasle == (not True)#True a += 1 #a = a + 1 a -= 1 #a= a - 1 其他同理 ``` ## 輸入及輸出 輸入和輸出的函式為`input()`和`print()` ### 輸入 > `input()` 回傳的資料型態為`str` ```python= s = input("提示字串:") #提示字串為當輸入時你想要顯示什麼內容,可不填 ``` ### 輸出 >`print()`輸出訊息 ```python= print("Helloworld") #Helloworld print("Hello"+"world")#Helloworld # 當兩邊都為字串時可以相加 print("Hello","world",sep = '+')#Hello+world # 以+分隔,不寫預設為空格 print("Helloworld",end = 'owo') #Helloworldowo # 以owo做結尾,不寫預設為換行字元 \n # 輸出小數 a = 3.123456789 print(f'{a:.2f}') #3.12 # 輸出至小數後第二位 # f為格式化字串 於{}裡放變數 ``` 進階輸入及輸出處理未來會補充... ## 判斷式 在Python中,以`縮排`也就是`tab`來區分 ```python= 只需處理符合條件時 if 條件句: 符合條件時執行 符合和不符合都須處理時 if 條件句: 符合條件時執行 else: 不符合條件時執行 多重條件時 if 條件1: 符合條件1時執行 elif 條件2: 符合條件2時執行 . . . . elif 條件n: 符合條件n時執行 else: 都不符合時執行 ``` :::warning 多重條件時會執行條件先成立區塊 例如:即使符合條件1及條件2也只會執行條件1的程式碼 ::: **範例:** ```python= score = int(input()) if score > 100 or score < 0: print("輸入錯誤") else: if score > 60: print("及格") elif score == 60: print("剛好及格") else: print("不及格") ``` ## 迴圈 迴圈,顧名思義就是重複執行的意思 ### For 迴圈 ```python= for name in range (start,end,step): # Code ``` :::info `name` 為變數 `start`為變數起始值,不填預設為`0` `end`為變數結束值,遞增時小於此數才會執行,反之遞減時需大於此數 `step`為每次執行完後變數的變化量。預設為`1` ::: **範例:** ```python= for i in range(1,20,3): print(i,end=" ") # Output: 1 4 7 10 13 16 19 ``` 因為輸出`19`後`19+3`會大於等於20,所以就會跳出迴圈 ```python= for i in range(5,1,-1): print(i,end=" ") #Output: 5 4 3 2 ``` 因為輸出`2`後`2-1`會小於等於1,所以就會跳出迴圈 ### While 迴圈 ```python= while 條件: #Code #無窮迴圈 while True: #code if 條件:#停止條件 break ``` :::info 當條件成立時才會執行 ::: **範例:** ```python= i=1 while i<20: print(i,end=" ") i = i+3 # Output: 1 4 7 10 13 16 19 ``` ### 迴圈控制 #### Break 跳出當前迴圈 ```python= for i in range(5): if i == 2: break print(i,end=" ") # Output: 0 1 ``` #### Continue 略過continue後的程式碼,直接執行下一次迴圈 ```python= for i in range(5): if i == 2: continue print(i,end=" ") # Output: 0 1 3 4 ```