算術運算子是處理四則運算的符號,在數字的處理中應用得最多。python 支援所有的基本算術運算子,如表 1 所示。
表 1 python常用算術運算子
運算子說明例項結果+
加12.45 + 15
27.45-減
4.56 - 0.26
4.3*
乘5 * 3.6
18.0/除
7 / 2
3.5%
取餘,即返回除法的餘數
7 % 21//
整除,返回商的整數部分
7 // 23**
冪,即返回 x 的 y 次方
2 ** 4
16,即 24
接下來將對錶 1 中各個算術運算子的用法,一一做詳細講解。
例如如下**:
a = 5.2
b = 3.1
the_sum = a + b
# sum的值為8.3
print("the_sum的值為:", the_sum)
除此之外,「+」還可以作為字串(包括後續要介紹的序列)的連線運算子。例如如下**:
s1 = 'hello, '
s2 = 'charlie'
# 使用+連線兩個字串
print(s1 + s2)
例如如下**:
c = 5.2
d = 3.1
sub = c - d
# sub的值為2.1
print("sub的值為:", sub)
此外,「-」除了可以作為減法運算子之外,還可以作為求負的運算子。請看如下**:
# 定義變數x,其值為-5.0
x = -5.0
# 將x求負,其值變成5.0
x = -x
print(x)
但單目運算子「+」則不對運算元做任何改變,例如如下**:
# 定義變數y,其值為-5.0
y = -5.0
# y值依然是-5.0
y = +y
print(y)
例如如下**:
e = 5.2
f = 3.1
multiply = e * f
# multiply的值為16.12
print("multiply的值為:", multiply)
此外,「*」還可以作為字串(包括後續要介紹的序列)的連線運算子,表示將 n 個字串連線起來。例如如下**:
s3 = 'crazyit '
# 使用*將5個字串連線起來
print(s3 * 5)
上面**將會輸出:
crazyit crazyit crazyit crazyit crazyit
python 的除法運算子有兩個:「/」表示普通除法,使用它除出來的結果與平常數學計算的結果是相同的(即除不盡時,會產生小數部分);而「//」表示整除,使用它除出來的結果只有整數部分,小數部分將會被捨棄。例如如下**:
print("19/4的結果是:", 19/4)
print("19//4的結果是:", 19//4)
aa = 5.2
bb = 3.1
# aa / bb的值將是1.67741935483871
print("aa/bb的值是:", aa / bb)
# aa // bb值將是1.0
print("aa//bb的值是:", aa // bb)
此外,python 不允許使用 0 作為除數,否則將會引發 zerodivisionerror 錯誤。
在有些程式語言中,0 作為除數會得到無窮大,包括正無窮大或負無窮大。
對於 python 2.x 而言,它只提供了乙個「/」運算子,該運算子是 python 3.x 中「/」和「//」的綜合版。對於 python 2.x 中的「/」而言,它既是整除運算子,也是非整除運算子。規則如下:
例如,在 python 2.x 的互動式解釋執行器中執行如下**:
>>>print(5/2)
2>>>print(5.0/2)
2.5>>>print(5/2.0)
2.5>>>print(5.0/2.0)
2.5
python 不要求求餘運算子的兩個運算元都是整數,python 的求餘運算子完全支援對浮點數求餘。求餘運算的結果不一定總是整數,它是使用第乙個運算元來除以第二個運算元,得到乙個整除的結果後剩下的值就是餘數。
由於求餘運算也需要進行除法運算,因此求餘運算的第二個運算元不能是 0,否則程式會報出 zerodivisionerror 錯誤。
例如如下程式:
print("5%3的值為:", 5 % 3) # 輸出2
print("5.2%3.1的值為:",5.2 % 3.1) # 輸出2.1
print("-5.2%-3.1的值為:", -5.2 % -3.1) # 輸出-2.1
print("5.2%-2.9的值為:", 5.2 % -2.9) # 輸出-0.6
print("5.2%-1.5的值為:", 5.2 % -1.5) # 輸出-0.8
print("-5.2%1.5的值為:", -5.2 % 1.5) # 輸出0.8
#print("5對0.0求餘的結果是:", 5 % 0.0) # 導致錯誤
這裡需要注意的一點是,使用 % 求餘,如果除數(第二個運算元)是負數,那麼取得的結果也一定是負數。因此,執行上面程式,可以看到如下輸出結果:
5%3的值為: 2
5.2%3.1的值為: 2.1
-5.2%-3.1的值為: -2.1
5.2%-2.9的值為: -0.5999999999999996
5.2%-1.5的值為: -0.7999999999999998
-5.2%1.5的值為: 0.7999999999999998
前三個算式的執行結果比較簡單,它們進行的都是很簡單的求餘計算。但 5.2 % -2.9 的結果有點奇怪,我們預計它為 -0.6,但實際輸出的是 -0.5999999999999996。這裡有兩個問題:
第乙個問題,為什麼預計 5.2 % 2.9 的結果是 -0.6 呢?因為 python 求餘運算的邏輯是用被除數減去除數的 n 倍,此處的 n 是 -2,因此得到結果是 0.6。
第二個問題,為什麼實際輸出的是 -0.5999999999999996 呢?這是由浮點數的儲存機制導致的。計算機底層的浮點數的儲存機制並不是精確儲存每乙個浮點數的值,讀者暫時不需要花太多的時間去理解浮點數的儲存機制,只要知道浮點數在 python 中可能產生精度丟失的問題就行。比如此處正常計算的結果應該是 -0.6,但實際計算出來的結果是乙個非常接近 -0.6 的值。
python 支援使用「**」作為乘方運算子,這是乙個使用非常方便的運算子。由於開方其實是乘方的逆運算,因此實際上使用「**」也可進行開方運算。例如如下**:
print('5 的 2 次方:', 5 ** 2) # 25
print('4 的 3 次方:', 4 ** 3) # 64
print('4 的開平方:', 4 ** 0.5) # 2.0
print('27 的開 3 次方:',27 **(1 / 3 )) # 3.0
Less 算術運算子用法
算術運算子 可以對任何數字 顏色或變數進行運算。如果可能的話,算術運算子在加 減或比較之前會進行單位換算。計算的結果以最左側運算元的單位型別為準。如果單位換算無效或失去意義,則忽略單位。無效的單位換算例如 px 到 cm 或 rad 到 的轉換。www.dgtais.cn 所有運算元被轉換成相同的單...
算術運算子
核心 運算子 就是對常量和變數進行操作的符號。分類 算術運算子,賦值運算子,比較運算子,邏輯運算子,位運算子,三目運算子 算術運算子 注意事項 a 整數相除只能得到整數。如果想得到小數,必須把資料變化為浮點數型別 b 獲取的是除法操作的商,獲取的是除法操作的餘數 class operatordemo...
算術運算子
算術運算子 加 減 乘 除 或 div div只保留整數部分 模 或 mod 查詢員工的姓名和薪資 select ename,salary from t employee 查詢員工的姓名和原來的薪資和漲薪1000元後的薪資 select ename,salary,salary 1000 from t...