1. 程式人生 > >python的運算符與表達式

python的運算符與表達式

ant 大小 san max-width 字符 bsp 數據 line 不包含

Python運算符與表達式

1. 運算符分類

運算符主要分5種:

1. 算術運算符 
2. 比較運算符
3. 位運算符
4. 邏輯運算符 
5. 成員運算符 
6. 身份運算符
7. 賦值運算符

1. 算術運算符

算術運算符    描述                     實例                輸出結果

 +       兩個對象相加                 abc+d                abcd

 -       兩個對象相減                 5-2                  3

 *       兩個對象相乘                 3*ab                 ababab

 /       兩個對象相除                 8/2                  4   

 %       取模,返回除法的余數           5%3                  2

 **      冪                          2**3                 8

 //      取整除,返回商的整數部分       3//2                 1

2. 比較運算符

比較運算符   描述                      實例                 輸出結果

 ==      等於                        abc==abc             True

 !=      不等於,與<>意思一樣           abc!=ab              True

 <       小於                        5<6                  True

 <=      小於等於                     5<=6                True 

 >       大於                        5>6                  False

 >=      大於等於                     5>=6                False

3.位運算符

位運算符       描述                         實例            輸出結果

        按位與運算符:參與運算的兩個    
 &      值,二進制位都為1,則該位的          60&13              12
        結果為1,否則為0         

 |      按位或運算符:參與運算的兩個
        值,二進制位只要有一個為1時,         60|13              61
        結果位就為1

 ^      按位異或運算符:參與運算的兩
        個值,二進制位不同時,該位的          60^13             49
        結果為1

 ~      按位取反運算符:參與運算的值,
        二進制位取反,0變1,1變0             ~60              -61

 <<     左移動運算符:參與運算的值,
        所有二進制位左移動指定位數           60<<2             240

 >>     右移動運算符:參與運算的值,
        所有二進制位右移動指定位數           60>>3              7     

4. 邏輯運算符

邏輯運算符       描述                       實例               輸出結果

 and      布爾"與":當兩個值都為真,        a and b         當a,b均為True,則結果為True
          結果才為真,否則均為假                           

 or       布爾"或":當兩個值有一個         a or b          當a,b有一個為True,則結果為True
          為真,結果就為真

 not      布爾"非":當值為假時,結         not a           當a為False,則結果為True
          果才為真

5. 成員運算符

成員運算符      描述                       實例               輸出結果

 in       如果指定的對象中包含該成       ‘a‘ in ‘abc‘           True
          員,則返回True,否則False
 not in   如果指定的對象中不包含該成     ‘c‘ not in ‘abc‘       True
          員,則返回True,否則False

6. 身份運算符

身份運算符      描述                       實例               輸出結果

 is       判斷兩個標識符是否是同一       ‘abc‘ is ‘abc‘         True
          對象,如果是,則返回True

 is not   判斷兩個標識符是否不是同       ‘ab‘ isa not ‘abc‘     True
          一對象,如果不是,則返回True   

7. 賦值運算符(a=10)

賦值運算符        描述               實例               輸出結果

 +=          加法賦值運算符          a += 2              a=12
 -=          減法賦值運算符          a -= 2              a=8
 *=          乘法賦值運算符          a *= 2              a=20
 /=          除法賦值運算符          a /= 2              a=5
 %=          取模賦值運算符          a %= 3              a=1
 //=         地板除賦值運算符        a //= 3             a=3
 **=         冪賦值運算符            a **= 3            a=1000

註: 所有賦值運算操作都可以轉換為(變量 = 變量 算術運算符 值)格式。

賦值運算:
    a += 2
算術運算:
    a = a + 2

2. 運算符優先級

運算符                     描述                  優先級(從上到下優先級降低)

‘expression,...‘        字符串轉換                         1
{key,datum,...}         字典顯示                           2
[expression,...]        列表顯示                           3
(expression,...)        綁定或元組顯示                      4
f(arguments,...)        函數調用                           5
x[index:index]          尋址段                             6
x[index]                下標(即索引)                       7
x.attribute             屬性參考                           8
**                      指數(冪)                           9
~x                      按位翻轉                           10
+x, -x                  正負號                             11
*, /, %                 乘法,除法,取模                      12
+,  -                   加法,減法                          13
<<, >>                  左(右)位移動                       14
&                       按位與運算                         15
^                       按位異或運算                       16
|                       按位或運算                         17
<,<=,>,>=,==,!=         比較大小運算                       18
is, is not              身份運算                           19
in, not in              成員運算                           20
not x                   布爾"非"運算                       21
and                     布爾"與"運算                       22
or                      布爾"或"運算                       23
lambda                  lambda表達式                       24

註: 不推薦死記硬背運算符的優先級,實際中建議使用()解決優先級問題。

檢測數據歸屬類型(a=100)

  1. type() 測試可以使用,開發中盡量避免使用該方法

    格式:type(變量)
        b = type(a)
        print(b)#<class ‘int‘>
    
  2. isinstance() 檢測一個數據是否由指定的類型創建

    格式:isinstance(變量,類)
        b = isinstance(a,int)
        print(b)#True
    

註:禁止檢測任意數據是否是object類創建的,因為Python中一切事物都是對象。

python的運算符與表達式