Python的運算子

2021-10-09 17:42:44 字數 3570 閱讀 5502

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的形...