python3筆記三:運算符與表達式


一:學習內容

  • 算術運算符:+(加)、-(減)、*(乘)、/(除)、%(取模)、**(求冪)、//(取整)
  • 賦值運算符:=
  • 復合運算符:+=、-=、*=、/=、%=、**=、//=
  • 位運算符:&、\、^、~、<<、>>
  • 關系運算符:==、!=、>、<、>=、<=
  • 邏輯運算符:and、or、not
  • 成員運算符:in、not in
  • 身份運算符:is、is not
  • 運算符優先級

 

二:算術運算符

表達式說明:由變量、常量和運算符組成的式子

1.算術運算符:+(加)、-(減)、*(乘)、/(除)、%(取模)、**(求冪)、//(取整)

2.算術運算表達式:功能:進行相關符號數學運算,不會改變變量的值;值:相關的數學運算結果

3.舉例

num1 = 5
num2 = 3
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
print(num1 / num2)
print(num1 % num2)
print(num1 ** num2)  #pow(5,3)
print(num1 // num2)

 

三:賦值運算符

1.賦值運算符:=

2.賦值運算表達式:格式:變量 = 表達式;功能:計算等號右側"表達式"的值,並賦值給等號左側的變量;值:賦值結束后變量的值

3.舉例

num3 = 10
num4 = num3 + 20

 

四:復合運算符

1.復合運算符:+=、-=、*=、/=、%=、**=、//=

2.舉例

a = 1
b = 2
a += b  #a = a + b
print("a1 =", a)
a -= b  #a = a - b
print("a2 =", a)
a *= b  #a = a * b
print("a3 =", a)
a /= b  #a = a / b
print("a4 =", a)
a %= b  #a = a % b
print("a5 =", a)
a **= b #a = a ** b
print("a6 =", a)
a //= b #a = a // b
print("a7 =", a)

 

五:位運算符

1.按位運算符是把數字看做二進制來進行計算

 

2.&按位與運算符,相應的位數都為1,則該位結果為1,否則為0

#5的二進制為101,7的二進制為111, 101&111=101即5
print(5 & 7)

 

3.\按位或運算符,相應的位數都為0,則該位結果為0,否則為1

#5的二進制為101,7的二進制為111, 101 | 111=111即7
print(5 | 7)

 

4.^按位異或運算符,相應的位數不同時,則該位結果為1,否則為0

#5的二進制為101,7的二進制為111, 101 ^ 111=010即2
print(5 ^ 7)

 

5.~按位取反運算符

#5的原碼和補碼:00000000 00000000 00000000 00000101
#取反后補碼:     11111111   11111111   11111111   11111010
#補碼的反碼為: 10000000  00000000 00000000 00000101
#反碼的原碼為: 10000000  00000000 00000000 00000110
#即-6
print(~5)

 

6.<< 左移動運算符:各二進制位全部左移動若干位,由<<右側的數字決定,高位丟棄,低位補0

#00000010
#00001000
print(2 << 2)

 

7.>> 右移動運算符:各二進制位全部右移動若干位,由>>右側的數字決定,低位丟棄,高位正數補0負數補1

#00001101
#00000011 正數的補碼即原碼,故為3
print(13 >> 2)

 

#10000000 00000000 00000000 00001101 -13原碼
#11111111 11111111 11111111 11110010 -13反碼
#11111111 11111111 11111111 11110011 -13補碼
#11111111 11111111 11111111 11111100 -13右移2位補碼
#10000000 00000000 00000000 00000011 -13右移2位反碼
#10000000 00000000 00000000 00000100 -13右移2位原碼,即為-4
print(-13 >> 2)

 

六:關系運算符

1.關系運算符:==、!=、>、<、>=、<=

2.關系運算表達式:表達式1 關系運算符 表達式2

3.功能:計算表達式1和表達式2的值

4.值:如果關系成立,整個關系運算表達式的值為真,否則為假

 

七:邏輯運算符

1.邏輯與運算表達式:表達式1 and 表達式2

值:如果表達式1和表達式2的值都為真,則值為真;如果表達式1或表達式2有一個是假,則值為假
舉例:

num1 = 0
num2 = 20
if num1 and num2:
    print("真")

if num1 + 1 and num2 + 1:
    print("真")

#短路原則,只要遇到一個假就不會在計算后面的表達式了
#表達式1 and 表達式2 and 表達式3 and ...

 

2.邏輯或運算表達式:表達式1 or 表達式2

值:如果表達式1和表達式2的值都為假,則值為假;如果表達式1或表達式2有一個是真,則值為真
舉例:

num3 = 0
num4 = 1
if num3 or num4:
    print("真")

#短路原則,只要遇到一個真就不會在計算后面的表達式了
#表達式1 or 表達式2 or 表達式3 or ...

 

3.邏輯非運算表達式:not 表達式1

值:如果表達式1為假,則值為真;如果表達式1為真,則值為假
舉例:

if not 0:
    print("真")

 

八:成員運算符

1.in 如果在指定的序列中找到值返回True,否則返回False

2.not in 如果在指定的序列中沒有找到值返回True,否則返回False

 

九:身份運算符

1.is 判斷兩個標識符是不是引用同一個對象

2.is not 判斷兩個標識符是不是引用不同的對象

 

十:運算符優先級

從上到下,優先級越來越小

**
~、+(正號)、-(負號)
*、/、%、//
+、-
>>、<<
&
^、|
<=、<、>、>=
==、!=
=、%=、+=、-=、//=
is、is not
in、not in
not、or、and


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM