python中支援的運算子有:數**算符,比較運算子,邏輯運算子,賦值運算子以及位運算
+(加法運算),-(減法運算),*(乘法運算),/(除法運算),%(取餘運算), //(整除運算), **(冪運算)
print(5-2) # 3
print(5+2) # 7
print(5*2) # 10
print(5/2) # 2.5
print(10 % 3) # 1
num = int(input('請輸入乙個整數:'))
print((num % 3))
num = int(input('請輸入乙個整數:'))
print(num % 10)
x // y - x除以y的商向小取整 1.9 - 1, -1.5 - -2
print(5 // 2) # 2
print(-5 // 2) # -3
num = 23456
print(num // 100) # 234
練習:獲取任意大於100的數的百位數
方法1
num = int(input('請輸入乙個大於100的整數:'))
print(num // 100 % 10)
方法2
num = int(input('請輸入乙個大於100的整數:'))
print(num % 1000 // 100)
print(num % 1000)
print(500 % 1000)
x ** y - 求x的y次方
x ** y - 求x的y次方
如果次方數是1/n,表示開n次方
print(4 ** 0.5) # 2
print(8 ** (1/3)) # 2
print(10 > 10) # false
print(10 >= 10) # true
print(10 > 20) # false
print(10 < 20) # true
注意:python中的比較運算子支援連寫的方式表示取值範圍
age = 20
print(18 <= age <= 20) # true
true and true = true
true and false = false
false and true = false
false and false = false
寫出乙個數是否能同時被3和7整除的條件
num = int(input('請輸入乙個數字:'))
print(num, num % 3 == 0 and num % 7 == 0)
運算規則:都是false,才是false,只要有乙個true就是true
true or true = true
true or false = true
false or true = true
false or false = false
練習:寫出判斷閏年的條件
閏年:能被4整除但不能被100整除,或者能被400整除
year = int(input('請輸入乙個年份:'))
print(year, '是否是閏年', (year % 4 == 0 and year % 100 != 0) or year % 400 == 0)
運算規則:true 變 false, false 變 true
not true = false
not false = true
應用:當乙個條件正向寫很麻煩,但是反向寫很簡單的時候,就可以not加反向條件
age = 18
print(not age > 18)
print(age > 18)
練習:不能同時被3和7整除的條件
num = int(input('請輸入乙個數字:'))
print(num, not (num % 3 == 0, num % 7 == 0))
and的短路操作:條件1是false,那麼條件2對應的**不會執行
or的短路操作:條件1是true,那麼條件2對應的**不會執行
實際開發的時候,邏輯運算子的運算物件和運算結果一般都是布林值
但是面試的時候喜歡考運算物件不是布林的情況
表示式1 and 表示式2 - 如果表示式1的結果是true,那麼運算結果就是表示式2的值
如果表示式1的結果是false,那麼運算結果就是表示式1的值
注意:如果表示式的值不是布林,那麼就轉化成布林再判斷
怎麼**python中什麼資料都可以轉化為布林值,0和空值是false,其他都是true
表示式1 or 表示式2 - 如果表示式1的結果是false,那麼運算結果就是表示式2的值
如果表示式1的結果是true,那麼運算結果結果就是表示式1的值
a.布林值轉換
print(bool(0)) # false
print(bool(100), bool(-100)) # true true
print(bool(''), bool("")) # false false
print(bool('false'), bool(" ")) # true true
print(5 and 3) # 3 5為true,所以看第二個表示式
# 注意區分是and 還是 or
print(5 or 3) # 5 5為true,所以看第乙個表示式
所有的賦值運算子都是用來給變數賦值的,賦值運算子的左邊必須是變數
復合的賦值運算子左邊必須是以及賦值過的變數(必須要將值先提出來,再進行復合運算
a += 3 # a = a+3
print(a) # 13
a *= 2
print(a) # 26
a %= 3
print(a) # 2
數**算符 > 邏輯運算子 > 賦值運算子(最低)
數**算符中:** > *, /, %, // > +, -
邏輯運算子:and > or
如果有括號,先算括號裡面的
按位與就是取出二進位制數字的最後一位
print(28 & 1, 10 & 1, 102 & 1) # 0, 0, 0
print(11 & 1, 9 & 1, 1005 & 1) # 1, 1, 1
數字 << 1 - 左移是快速進行乘2
數字 >> n - 數字整除 2 ** n
數字 >> 1 - 右移是快速進行整除2
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的形...