# 初階運算子 Operators >程式碼的世界是一個充斥著邏輯以及數學的世界,一切的程式碼都跟這些數學符號拖不了關係(嘿!沒錯,你終究逃不了數學的魔掌),無論用哪種語言都是(HTML以及CSS可能例外),今天要介紹的就是Python中的**運算子**,安全帶繫好,我們準備要起飛囉~ #### 停!! 不要看到下面的目錄很難就急著離開,我會好好的解釋,這並不難 > 這些運算子只是名字上看起來比較複雜,但事實上這些運算子跟我們平常在使用的數學符號很相近,簡單來說,運算子就是「**加減乘除**」,以及數學上我們用來表示數值之間關係的「**大於小於**」。 ## 運算子的種類 1. 入門區域 - [算數運算子](#算數運算子) - [比較運算子](#比較運算子) - [邏輯運算子](#邏輯運算子) - [賦值運算子](#賦值運算子) <br> 2. 進階區域 - 字串運算子 - 關係運算子 - 條件運算子 - 逗點運算子 接下來,我將一一的為各位介紹這些運算子 ## 算數運算子 算數運算子用來做「數值(字)」的運算,用人話說就是做「加減乘除」 | Operator | Name | Example | |----------|------|---------| | + | Addition 加法 | x + y | | - | Subtraction 減法| x - y | | * | Multiplication 乘法 | x * y | | / | Division 除法 | x / y | | % | Modulus 取餘數| x % y | | ** | Exponentiation 次方| x ** y | | // | Floor division 取整除數| x // y | 要特特別注意的是,除了加減法之外,其他的運算子表示方式皆**不一樣**,如乘法以及除法。 ```Python # 定義兩個數字 num1 = 10 num2 = 5 # 加法 addition = num1 + num2 print("加法結果:", addition) # 減法 subtraction = num1 - num2 print("減法結果:", subtraction) # 乘法 multiplication = num1 * num2 print("乘法結果:", multiplication) # 除法 division = num1 / num2 print("除法結果:", division) # 取餘數 modulus = num1 % num2 print("取餘數結果:", modulus) # 次方 exponentiation = num1 ** num2 print("次方結果:", exponentiation) # 取餘數 Floor_division = num1 // num2 print("取整除數結果:", Floor_division) ``` 理論上的輸出如下: ```bash 加法結果: 15 減法結果: 5 乘法結果: 50 除法結果: 2.0 取餘數結果: 0 次方結果: 100000 取整除數結果: 2 ``` ## 比較運算子 比較運算子的功能在比較,它負責比對兩個數值之間的關係,比大或是比小,一樣,用人話說就是小學學的「**大於以及小於**」 先進範例,假設X=5 | 運算子 | 定義 | 範例 | 回傳值 | |-|-|-|-| | == | 等於 | x == 8 | FALSE | | || x == 5 | TRUE | | || x == "5" | TRUE | | != | 不等於 | x != 8 | TRUE | | > | 大於 | x > 8 | FALSE | | < | 小於 | x < 8 | TRUE | | >= | 大於等於 | x >= 8 | FALSE | | <= | 小於等於 | x <= 8 | TRUE | ```python # 定義兩個數字 num1 = 10 num2 = 5 # 等於 is_equal = num1 == num2 print("是否等於:", is_equal) # 不等於 not_equal = num1 != num2 print("是否不等於:", not_equal) # 大於 greater_than = num1 > num2 print("是否大於:", greater_than) # 小於 less_than = num1 < num2 print("是否小於:", less_than) # 大於等於 greater_than_or_equal = num1 >= num2 print("是否大於等於:", greater_than_or_equal) # 小於等於 less_than_or_equal = num1 <= num2 print("是否小於等於:", less_than_or_equal) ``` 輸出結果在這裡,慢慢看~ ```graphql 是否等於: False 是否不等於: True 是否大於: True 是否小於: False 是否大於等於: True 是否小於等於: False ``` ## 邏輯運算子 邏輯運算子平常在數學中我們可能比較少直接接觸,但是在生活處處都是它的影子,它就是「以及」「或者」「否」這三種運算子,隨便舉個例子好了: >A: 你要買甚麼飲料 >B: 可樂或雪碧 >A: 好,我再看有商店有什麼 上述的這個例子就是「或」的例子,當然相似的例子還很多,相信聰明的你可以理解(~~其實是我懶得寫~~)。 | 運算子(1) | 運算子(2) | 解釋 | 範例 | |-|-|-|-| | and  | && | 如果兩邊的敘述皆為 True,回傳 True | x < 5 and  x < 10 | | or | \|\| | 只要兩邊其中一個敘述為 True,回傳 True。 | x < 5 or x < 4 | | not | | 將結果顛倒 | not(x < 5 and x < 10) | ## 賦值運算子 其實賦值運算子很難說到底是進階功能還是初階功能,但各位可以把它想像成是一些基本運算子組合的精簡版,當然正式的解釋並非如此,而是這樣: >賦值運算子是一種在程式語言中用於將值賦給變數的特殊運算子。它們用於將右側的值(表達式或變數)賦給左側的變數,以便將該值存儲在變數中。這樣,變數可以保持特定的數值,以供後續的計算和使用。 | 運算子 | 用法 | 範例 | 等同於 | 說明 | |-|-|-------|---------|---------| | = | 賦值 | x = y | x = y | 將 y 的值賦給 x。 | | += | 加賦值 | x += y | x =x+y | 將 x 的值加上 y 的值,並將結果賦給 x。相當於 x = x + y。 | | -= | 減賦值 | x -= y | x=x-y | 將 x 的值減去 y 的值,並將結果賦給 x。相當於 x = x - y。 | | *= | 乘賦值 | x *= y | x = x * y | 將 x 的值乘以 y 的值,並將結果賦給 x。相當於 x = x * y。 | | /= | 除賦值 | x /= y | x = x/y | 將 x 的值除以 y 的值,並將結果賦給 x。相當於 x = x / y。 | | %= | 取餘數賦值 | x %= y | x =x%y | 將 x 的值取餘數除以 y 的值,並將結果賦給 x。相當於 x = x % y。 | | **= | 次方賦值 | x **= y | x **= x**2 | 將 x 的值做次方運算,次方數為 y 的值,並將結果賦給 x。相當於 x = x ** y。 | | //= | 取整除賦值 | x //= y | x = x//y | 將 x 的值取整除以 y 的值,並將結果賦給 x。相當於 x = x // y。 | 很抽象嗎?這裡有範例 ```python # 使用等號(=)賦值 x = 10 y = 5 # 使用+=賦值,相當於 x = x + y x += y # x 現在的值是 15 print("x += y:", x) # 使用-=賦值,相當於 x = x - y x -= y # x 現在的值是 10 print("x -= y:", x) # 使用*=賦值,相當於 x = x * y x *= y # x 現在的值是 50 print("x *= y:", x) # 使用/=賦值,相當於 x = x / y x /= y # x 現在的值是 10.0 print("x /= y:", x) # 使用%=賦值,相當於 x = x % y x %= y # x 現在的值是 0.0 print("x %= y:", x) # 使用**=賦值,相當於 x = x ** y x = 2 # 重新設定 x 的值 y = 3 x **= y # x 現在的值是 8 print("x **= y:", x) # 使用//=賦值,相當於 x = x // y x = 10 # 重新設定 x 的值 y = 3 x //= y # x 現在的值是 3 print("x //= y:", x) ``` 以下是應該要有的輸出 ```bash x += y: 15 x -= y: 10 x *= y: 50 x /= y: 10.0 x %= y: 0.0 x **= y: 8 x //= y: 3 ``` ## 結語 以上就是關於初級運算子的介紹,經過講解後,是不是已經對運算子更加熟悉了呢?(~~沒有也要裝做有~~)其實目前只要會這些就可以把Python 用的嚇嚇叫了,當然在學習進階的運算子之後,可以幫助你更順暢的運用Python。 ### 以下是一些額外的學習資源 英文好的可以看這個: https://www.w3schools.com/python/python_operators.asp 這是中文的解釋網站: https://steam.oxxostudio.tw/category/python/basic/operator.html