程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

6.1_2 Python3.x入門 P2 【基礎】運算符

編輯:Python

相關鏈接

  • 目錄
  • Mac M1 Python環境搭建
  • Python3.x入門 P1 【基礎】注釋、標識符、變量、數據類型
  • Python3.x入門 P2 【基礎】運算符
  • Python3.x入門 P3 【基礎】流程語句【循環結構】
  • Python3.x入門 P4 【基礎】可變序列(列表list、字典dict、集合set)
  • Python3.x入門 P5 【基礎】不可變序列(元組tuple、字符串str)
  • Python3.x入門 P6 【字符串格式化】四種方式(手動、%-formatting、str.format()、f-String)
  • Python3.x入門 P7 【函數】

常用運算符總結

""" @author GroupiesM @date 2022/4/27 12:15 @introduction python運算符 """
1.算術運算符
1.1 標准算術運算符 [+、-、*、/、//] //表示整除,向下取整
1.2 取余運算符 [%]
1.3 冪運算符 [**]
2.賦值運算符
執行順序: 右->左
支持鏈式賦值: a=b=c=20
支持參數設置: +=、-=、*=、/=、//=、%=
支持系列解包賦值: a,b,c=20,30,40
3.比較運算符
[>、<、>=、<=、!=]
== -> 對象value的比較
is,is not 對象id的比較
4.布爾運算符
and 且
or 或
not 取反
in ('xx','xx',...) 在范圍內
not in ('xx','xx',...) 不在范圍內
5.位運算符
& 位與 :對應數位都是1,結果數位才是1,否則為0
| 位或 :對應數位都是0,結果位數才是0,否則為1
<< 左位移 :高位溢出捨棄,低位補0
>> 右位移 :低位移除捨棄,高位補0

一、運算符

1.1 算數運算符

""" @author GroupiesM @date 2022/4/27 12:17 @introduction 常用運算符01 1.算術運算符 1.1 標准算術運算符 [+、-、*、/、//] //表示整除,向下取整 1.2 取余運算符 [%] 1.3 冪運算符 [**] """
# 1.1 標准算術運算符
print(1 + 1) # 2
print(1 - 1) # 0
print(2 * 3) # 6
print(1 / 2) # 0.5 除
print(11 // 2) # 5 整除
# 1.2 取余運算符
print(11 % 2) # 1
# 1.3 冪運算符
print(2 ** 4) # 16 2^4 = 2*2*2*2 = 16
# 復雜情況
# 整除
print(-9 // -2) # 4 (4.5 向下取整=4)
print(-9 // 2) # -5 (-4.5 向下取整=-5)
# 余數 (被除數-除數*商)
print(9 % 4) # 1 9-4*2 = 9-8 = 1
print(9 % -4) # -3 9-(-4)*(-3) = 9 - (12) = -3
print(-9 % -4) # -1 -9-(-4)*2 = -9 + 8 = -1

1.2 賦值運算符

""" @author GroupiesM @date 2022/4/27 13:29 @introduction 常用運算符02 2.賦值運算符 執行順序: 右->左 支持鏈式賦值: a=b=c=20 支持參數設置: +=、-=、*=、/=、//=、%= 支持系列解包賦值: a,b,c=20,30,40 """
a = 3 + 4
print(a) # 7
""" 支持鏈式賦值: a=b=c=20 """
a = b = c = 3
""" 支持系列解包賦值 """
print(a + b + c) # 9
a, b, c = 4, 5, 6
print(a + b + c) # 15
a = 1
a += 1
print(a) # 2
a *= 3
print(a) # 6
a /= 5
print(a) # 1.2

1.3 比較運算符

""" @author GroupiesM @date 2022/4/27 13:41 @introduction 常用運算符03 3.比較運算符 [>、<、>=、<=、!=] == -> value的比較 is,is not 內存地址比較 """
a, b = 10, 20
print('a>b?', a > b) # False
print('a<b?', a < b) # True
print('a>=b?', a >= b) # False
print('a<=b?', a <= b) # True
print('a!=b?', a != b) # True
print('a == b?', a == b) # False (值不同)
print('a is b?', a is b) # False (內存地址不同)
print('a is not b?', a is not b) # True
""" 對於基本類型 值相同內存地址就相同 """
a, b = 30, 30
print('a == b?', a == b) # True
print('a is b?', a is b) # True 內存地址相同
print('a is not b?', a is not b) # False
""" 對於引用類型 值相同,引用類型不一定相同 """
list1 = [11, 22, 33, 44]
list2 = [11, 22, 33, 44]
print(list1 == list2) # True
print(list1 is list2) # False 內存地址不同
print(id(list1), id(list2)) # 4370292096 4370298624
list2 = list1
print(list1 is list2) # True 內存地址相同
print(id(list1), id(list2)) # 4370292096 4370292096

1.4 布爾運算符

""" @author GroupiesM @date 2022/4/27 13:52 @introduction 常用運算符04 4.布爾運算符 and 且 or 或 not 取反 in ('xx','xx',...) 在范圍內 not in ('xx','xx',...) 不在范圍內 """
a, b = 1, 2
t = a == 1
f = a > 1
print("-----and 且-----")
print(t and t) # True
print(t and f) # False
print(f and f) # False
print("-----or 或-----")
print(t or t) # True
print(t or f) # True
print(f or f) # False
print("-----not 取反-----")
print(not t) # False
print(not f) # True
print("-----in-----")
'''整型'''
print(3 in (3, 4, 5)) # True
print(7 in (1, 2, 3)) # False
'''字符串'''
print('p' in 'python') # True
print('p' in 'java') # False
'''列表'''
print(5 in [5, 6, 7]) # True
print('5' in [5, 'hello', True]) # False
print("-----not in-----")
print(3 not in (3, 4, 5)) # False
print(7 not in (1, 2, 3)) # True

1.5 位運算符

""" @author GroupiesM @date 2022/4/27 14:01 @introduction 常用運算符05 5.位運算符 & 位與 :對應數位都是1,結果數位才是1,否則為0 | 位或 :對應數位都是0,結果位數才是0,否則為1 n<<m n左位移m位 :高位溢出捨棄,低位補0,左移一位相當於*2 n>>m n右位移m位 :低位移除捨棄,高位補0,右移一位相當於/2 """
# 4 : 0000 1000
# 8 : 0001 0000
""" &位與:對應數位都是1,結果數位才是1,否則為0 0000 1000 0001 0000 --------- 0000 0000 """
print(4 & 8) # 0
""" |位或:對應數位都是0,結果位數才是0,否則為1 0000 1000 0001 0000 --------- 0001 1000 -> 12 """
print(4 | 8) # 12
""" n<<m n左位移m位:高位溢出捨棄,低位補0 0000 0100 ---------- 左移2位 0 0000 1000 ---------- 高位捨棄,低位補0 0000 1000 -> 8 """
print(4 << 1) # 8
"""n>>m n右位移m位:低位移除捨棄,高位補0 0000 0100 ---------- 右移2位 00 0001 00 ---------- 低位捨棄,高位補0 0000 0001 -> 1 """
print(4 >> 2) # 1

二、運算符優先級

""" @author GroupiesM @date 2022/4/27 14:20 @introduction """
運算符優先級:
()括號 > 1.算數運算 :1.3冪運算 > 1.1標准算數運算符[*、/、//、%] > 1.1標准算數運算符[+、-]
> 5.位運算 : [<<、>>] > [&] > [|]
> 3.比較運算符 [>、<、>=、<=、!=]
> 4 布爾運算符[and] > 4 布爾運算符[or]
> 2 賦值運算符

22/06/27

M


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved