python中的運算子: 數**算符、比較運算子、邏輯運算子、賦值運算子
1.數**算符:
+、-、*(乘法)、/(除法)、%(取模、取餘、求餘數)、//(整除)、**(冪運算)
1) + 、-、 *、 / 和數學中的功能一模一樣,沒有區別
print(1 + 1)
print(1 - 1)
print(1 * 1)
注意:/的結果是浮點數。
print(1 / 1) # 1.0
print(5 / 2) # 2.5
2)% - 取模、取餘(求餘數)
print(5 % 2) # 求5除以2的餘數
print(8 % 3) # 2
應用1:判斷整數的奇偶性
根據整數對2取餘的結果是否是零來判斷這個數是否是偶數
print(10 % 2) # 0
print(14 % 2) # 0
print(15 % 2) # 1
應用2:
num = 899 # 求個位數
print(num % 10) # 對10取餘,可以取個位數。
print(num % 100) # 對100取餘,可以取剩餘兩位數
3.) // - 整除(商向小取整數,取整數不要餘數)
print(5/2) # 2.5
print(5//2) # 2
print(2/3)
print(2//3) # 0
print(-5//2) # -3,注意負數,向小取整,-3小於-2,取-3.
應用:取整數的高位數
num = 234
print(num // 100)
練習:將num中的十位數取出來。
a = num // 10
b = a % 10
print(b)
print(num // 10 % 10)
print(num % 10 // 10)
4) ** - 冪運算(可以求開方)
x ** y - 求x的y次方
print(2 ** 3)
print(16 ** 0.5)
2.比較運算子:>、=、<=、!=
所有的比較運算子的結果都是布林值
print(10 > 10)
print(10 < 20)
python中的比較運算子支援表示範圍的連寫方式
age = 18
print(10 <= age <= 28)
print(age >= 10 and age <= 28) # 下劃線是系統提示,**可以修改更簡便。
3.邏輯運算子: and(邏輯與運算)、or(邏輯或運算)、not(邏輯非運算)
實際開發過程中,邏輯運算子的運算物件一般都是布林值,結果也是布林
3.1): and - 邏輯運算子
1)運算規則:全部都是true結果才是true,只要有乙個是false結果就是false
true and true - true
true and false - false
false and true - false
false and false - false
2)應用:如果希望多個條件同時滿足,那麼就使用and將條件進行連線。相當於生活中的並且
練習:定義兩個變數分別儲存乙個學生的績點和操評分,最後根據分數的值列印這個學生是否能拿獎學金。(條件:績點不低於3.5,操評分大於90同時滿足)
3.2) or - 邏輯或
1)運算規則:只要有乙個是true結果就是true,全部都是false結果才是false
true or true - true
true or false - true
false or true - true
false or false - false
2)應用:多個條件中只要有乙個滿足就行,那麼就是or將多個條件進行連線;相當於生活中的或者
練習:判斷乙個數是否能夠被3或者7整除
***能被3或者7整除:true/false
num = 26
print(num, '能被3或者7整除:',num % 3 == 0 or num % 7 == 0)
3.3 ) not - 邏輯非
1)運算物件not 條件
not true - false
not false - true
age = 20
print("是否成年:", age >= 18)
print('是否未成年:', not age >= 18)
練習:判斷乙個數是否不能同時被3和7整除。(在某些條件下用not會很方便,正向寫某些**會特別麻煩的情況時)
num = 26
# 正向寫
print((num % 3 == 0 and num % 7 == 0) or (num % 7 == 0 and num % 3 != 0))
# 用not寫
print(num, '是否不能同時被3和7整除:', not num % 3 == 0 or num % 7 == 0)
練習2: 判斷指定的年是否是閏年
閏年的條件: 1)能被4整除但是不能被100整除 2)能被400整除
year = 2004
print(year, '是否是閏年:', (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))
3.4 )邏輯運算子的運算物件不是布林
語法:表示式1 and 表示式2 - 如果表示式1的布林值是true,那麼整個運算的結果就是表示式2的值;如果是false整個運算結果是表示式1的值。
表示式1 or 表示式2 -如果表示式1的布林值是true,那麼整個運算的結果就是表示式1的值;如果是false,整個運算結果是表示式2的值
資料的布林值怎麼確定:所有為零為空的資料的布林值都是false(數字的0、 0·0、 0·00、『』、、{}、none),
其他所有資料的布林值全部都是true
print(not 7) # false
print(not 0) #true
3.5) 短路操作
表示式1 and 表示式2 - 如果表示式1的結果是false,程式不會去執行表示式2
表示式1 or 表示式2 - 如果表示式1的結果是true,程式不回去執行表示式2
false and name >= 10 # 單獨打出 name >= 10 會報錯,短路之後就不會出現。
true or name < 10
4.賦值運算子: =、 +=、 -=、 *=、 /=、 %=、 //=、 **=
4.1) 所有的賦值運算子最終的目的都是為了給變數賦值,所以賦值運算子的左邊必須是變數。
#10 = 20
4.1 ) 賦值運算子 =
變數 = 資料 - 將右邊的資料賦值給左邊的變數
4.2) 復合的賦值運算子
變數 += 資料 - 將變數中的資料取出來和指定的資料相加求和,然後將這個和
重新賦值給變數;變數 = 變數 + 資料
注意:復合的賦值運算子的左邊的變數必須是已經賦值過的變數
name += 10
num = 10
num += 2 # num = num + 2 = 10 + 2 = 12
print(num ) # 12
num *= 2 # num = num * 2 = 12 * 2 = 24
print(num)
5.運算子的優先順序
數**算符》比較運算子》邏輯運算》賦值運算
數**算:** > *、/、%、//、 > +、-
有括號先算括號裡面
num = 10 + 20
and的優先順序比or高
print(7 or 8 and 9) # 先算or :9 先算and :7
print(18 + 78 / 2 * 4 and 9 - 5 or 7)
18 + 39 * 4 and 4 or 7
python 運算子 Python運算子
python語言支援以下型別的運算子 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 運算子優先順序 1 算術運算子 加號 減號 乘 除 取餘 乘方 整除 1 其中除號 要注意 在python2中,用作整除。解決方法有三 1 兩個相除的數中有乙個為實數。2 ...
python 運算子 python(運算子)
一 運算子 1.算數運算子 1 加 注意 字串與整數之間不能進行相加,需要通過str 或int 進行轉換資料型別 整數與整數相加 1 1 浮點數與浮點數相加 2.0 2.0 4.0 二進位制儲存精度誤差 1.1 1.3 2.4000000000000004 整數與浮點數相加 2 2.0 4.0字串之...
python增強運算子 Python 運算子過載
python語言提供了運算子過載功能,增強了語言的靈活性,這一點與c 有點類似又有些不同。鑑於它的特殊性,今天就來討論一下python運算子過載。python語言本身提供了很多魔法方法,它的運算子過載就是通過重寫這些python內建魔法方法實現的。這些魔法方法都是以雙下劃線開頭和結尾的,類似於x的形...