<li id="jut4n"></li>
  • 系統城裝機大師 - 固鎮縣祥瑞電腦科技銷售部宣傳站!

    當前位置:首頁 > 腳本中心 > python > 詳細頁面

    Python教程之基本運算符的使用(下)

    時間:2022-09-12來源:www.ship-models.net作者:電腦系統城

    運算符的優先級和關聯性

    運算符的優先級和關聯性: 運算符的優先級和關聯性決定了運算符的優先級。

    運算符優先級

    這用于具有多個具有不同優先級的運算符的表達式中,以確定首先執行哪個操作。

    示例:運算符優先級

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 運算符優先級示例
     
    # '+' 和 '*' 的優先級
    expr = 10 + 20 * 30
    print(expr)
     
    # 'or' 和 'and' 的優先級
    name = "Alex"
    age = 0
     
    if name == "Alex" or name == "John" and age >= 2:
        print("Hello! Welcome.")
    else:
        print("Good Bye!!")

    輸出

    610
    Hello! Welcome.

    運算符關聯性

    如果一個表達式包含兩個或多個具有相同優先級的運算符,則使用運算符關聯性來確定。它可以是從左到右或從右到左。

    示例:運算符關聯性

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 運算符關聯性示例
     
    # 左右關聯性 100 / 10 * 10 計算為 (100 / 10) * 10 而不是 100 / (10 * 10)
    print(100 / 10 * 10)
     
    # 左右關聯性 5 - 2 + 3 計算為 (5 - 2) + 3 而不是 5 - (2 + 3)
    print(5 - 2 + 3)
     
    # 左右結合性
    print(5 - (2 + 3))
     
    # 左右關聯性 2 ** 3 ** 2 計算為 2 ** (3 ** 2) 而不是 (2 ** 3) ** 2
    print(2 ** 3 ** 2)

    輸出

    100.0 


    512

    Python 運算符測驗

    除法運算符允許您將兩個數字相除并返回一個商,即左邊的第一個數字或數字除以右邊的第二個數字或數字并返回商。 

    除法運算符有兩種類型: 

    浮動劃分

    此運算符返回的商始終是浮點數,無論兩個數字是否為整數。例如:

    1
    2
    3
    4
    5
    6
    7
    8
    >>>5/5
    1.0
    >>>10/2
    5.0
    >>>-10/2
    -5.0
    >>>20.0/2
    10.0

    整數除法(地板除法)

    此運算符返回的商取決于傳遞的參數。如果任何數字是浮點數,它以浮點數返回輸出。它也被稱為下限除法,因為如果任何數字為負數,則輸出將被下限。例如:

    1
    2
    3
    4
    5
    6
    >>>5//5
    1
    >>>3//2
    1
    >>>10//3
    3

    考慮 Python 中的以下語句。

    1
    2
    3
    4
    # A Python program to demonstrate the use of
    # "//" for integers
    print (5//2)
    print (-5//2)

    輸出:


    -3

    第一個輸出很好,但如果我們來到 Java/C++ 世界,第二個可能會感到驚訝。在 Python 中,“//”運算符用作整數和浮點參數的下除法。但是,除法運算符“/”總是返回一個浮點值。

    注意:  “//”運算符用于返回小于或等于指定表達式或值的最接近的整數值。所以從上面的代碼中,5//2 返回 2。你知道 5/2 是 2.5,小于或等于最接近的整數是 2[5//2]。(它與正常的數學相反,在正常數學中,該值為 3)。

    例子

    1
    2
    3
    # 一個 Python 程序,用于演示使用“/”表示浮點數
    print (5.0/2)
    print (-5.0/2)

    輸出

    2.5 
    -2.5

     

    真正的樓層除法運算符是“//”。它返回整數和浮點參數的下限值。

    1
    2
    3
    4
    5
    # 一個 Python 程序,用于演示整數和浮點數的“//”的使用
    print (5//2)
    print (-5//2)
    print (5.0//2)
    print (-5.0//2)

    輸出


    -3 
    2.0 
    -3.0

    三元運算符

    三元運算符也稱為條件表達式,是根據條件為真或假來評估某些內容的運算符。它在2.5版本中被添加到 Python 中。 
    它只是允許在單行中測試條件,替換多行 if-else,使代碼緊湊。

    語法 :

    [on_true] 如果 [表達式] 否則 [on_false]

    使用三元運算符的簡單方法:

    1
    2
    3
    4
    5
    6
    7
    # 演示條件運算符的程序
    a, b = 10, 20
     
    # 如果 a < b 則復制 a 的最小值,否則復制 b
    min = a if a < b else b
     
    print(min)

    輸出: 

    10

    使用元組、字典和 lambda 的直接方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 演示三元運算符的 Python 程序
    a, b = 10, 20
     
    # 使用元組選擇一個項目 (if_test_false,if_test_true)[test] 如果 [a<b] 為真則返回 1,因此索引為 1 的元素將打印,否則如果 [a<b] 為假則返回 0,因此元素為 0 索引將打印
    print( (b, a) [a < b] )
     
    # 如果 [a < b] 為真,則使用 Dictionary 選擇項目,然后打印 True 鍵的值,否則,如果 [a<b] 為假,則打印 False 鍵的值
    print({True: a, False: b} [a < b])
     
    # lambda 比上述兩種方法更有效,因為在 lambda 中,我們確保只評估一個表達式,這與 tuple 和 Dictionary 不同
    print((lambda: b, lambda: a)[a < b]())

    輸出:

    10 
    10 
    10

    三元運算符可以寫成嵌套的 if-else:

    1
    2
    3
    4
    5
    # 演示嵌套三元運算符的 Python 程序
    a, b = 10, 20
     
    print ("Both a and b are equal" if a == b else "a is greater than b"
            if a > b else "b is greater than a")

    上面的方法可以寫成:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 演示嵌套三元運算符的 Python 程序
    a, b = 10, 20
     
    if a != b:
        if a > b:
            print("a is greater than b")
        else:
            print("b is greater than a")
    else:
        print("Both a and b are equal")

    輸出:

    b is greater than a

    要在三元運算符中使用打印功能,例如:-

    示例:在 python3 中使用三元運算符查找 2 中的較大數

    1
    2
    3
    4
    5
    6
    a=5
    b=7
     
    # [statement_on_True] if [condition] else [statement_on_false]
     
    print(a,"is greater") if (a>b) else print(b,"is Greater")

    輸出:

    7 is Greater

    要點

    • 首先評估給定條件 (a < b),然后根據條件返回的布爾值返回 a 或 b
    • 運算符中參數的順序與其他語言
    • 在所有 Python 操作中,條件表達式的優先級最低。

    當三元運算符不存在 時,在 2.5 之前使用的方法在如下給出的表達式中,解釋器檢查表達式是否為真,然后評估 on_true,否則評估 on_false。

    語法 : 

    '''條件為真時,不執行表達式[on_false],返回“True and [on_true]”的值。 返回“False or [on_false]”的其他值。注意“True and x”等于x。 “假或 x”等于 x。 '''
    [表達式] 和 [on_true] 或 [on_false]

    例子 :

    1
    2
    3
    4
    5
    6
    7
    8
         
    # 演示條件運算符的程序
    a, b = 10, 20
     
    # 如果 a 小于 b,則分配 a,否則分配 b(注意:如果 a 為 0,則它不起作用)。
    min = a < b and a or b
     
    print(min)

    輸出:

    10

    注意: 此方法的唯一缺點是on_true 不能為零或 False。如果發生這種情況,將始終評估 on_false。原因是如果表達式為真,解釋器將檢查 on_true,如果它為零或假,這將迫使解釋器檢查 on_false 以給出整個表達式的最終結果。

    分享到:

    相關信息

    • python中range是什么意思 python中range()函數的用法

      很多的編程工作者們應該都會使用到python,昨天我在用python的時候看到很多的代碼里面都會有range()這個函數,但是不知道這個到底是什么意思,也去網上查了一下,下文小編就給大家總結了python中range()函數的用法以及其意思...

      2022-06-25

    • PHP如何從txt文件中讀取數據詳解

      、打開/關閉文件 二、讀寫文件 1、讀取整個文件 2、讀取一行數據 3、讀取一個字符 4、讀取任意長度的字符串 總結...

      2022-03-01

    系統教程欄目

    欄目熱門教程

    人氣教程排行

    站長推薦

    熱門系統下載

    淑芬两腿间又痒了