• Python(五)——运算符的使用


    Python(五)——运算符的使用

    1、算术运算符

    Python 中常用运算符:

    运算符说明实例结果
    +22.4 + 1537.4
    -4.56 - 0.564
    *5 * 315
    /除法(和数学中的规则一样)8 / 24
    //整除(只保留商的整数部分)7 // 23
    %取模,即返回除法的余数7 % 21
    **次方运算,即返回 x 的 y 次方2 ** 416,即 2^4

    +加法运算符

    m = 10
    n = 90
    sum1 = m + n
    print(sum1)
    #当+用于字符串时,还可以拼接字符串
    name = "方唐镜"
    url = "江苏苏州"
    age = 18
    info = name + "的住址是" + url + ",已经" + str(age) + "岁了。"
    print(info)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    执行结果:

    100
    方唐镜的住址是江苏苏州,已经18岁了。
    
    • 1
    • 2

    -减法运算符

    m = 100
    n = 97
    sum1 = m - n
    print(sum1)
    x = 45
    y = -x
    print(y)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    执行结果:

    3
    -45
    
    • 1
    • 2

    *乘法运算符

    n = 4 * 25
    m = 34.5 * 6
    print(n, m)
    #将n个字符串连接
    str = "hello "
    print(str * 4)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    执行结果:

    100 207.0
    hello hello hello hello 
    
    • 1
    • 2

    / 和 // 除法运算符

    print("--------整数不能除尽-----------")
    print("24/7 =", 24/7)
    print("24//7 =", 24//7)
    print("24.0//7 =", 24.0//7)
    print("--------整数能除尽-----------")
    print("25/5 =", 25/5)
    print("25//5 =", 25//5)
    print("25.0//5 =", 25.0//5)
    print("--------小数除法-----------")
    print("12.4/3.5 =", 12.4/3.5)
    print("12.4//3.5 =", 12.4//3.5)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    执行结果:

    • /的计算结果返回的总是小数,不管是否能除尽,也不管参与运算的是整数还是小数。
    • 当有小数参与运算时,//返回的结果才是小数,否则就是整数。
    --------整数除不尽-----------
    24/7 = 3.4285714285714284
    24//7 = 3
    24.0//7 = 3.0
    --------整数能除尽-----------
    25/5 = 5.0
    25//5 = 5
    25.0//5 = 5.0
    --------小数除法-----------
    12.4/3.5 = 3.542857142857143
    12.4//3.5 = 3.0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    %求余运算符

    print("-----整数求余-----")
    print("7%2 =", 7 % 2)
    print("7%-2 =", 7 % -2)
    print("-----小数求余-----")
    print("7.7%2.2 =", 7.7 % 2.2)
    print("-7.7%2.2 =", -7.7 % 2.2)
    print("-7.7%-2.2 =", -7.7 % -2.2)
    print("---整数和小数运算---")
    print("23.4%5 =", 23.4 % 5)
    print("23%4.5 =", 23 % 4.5)
    print("23.4%-5 =", 23.4 % -5)
    print("-23%4.5 =", -23 % 4.5)
    print("-23%-4.5 =", -23 % -4.5)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    执行结果:

    • 求余运算本质还是是除运算,所以第二个数字不能是 0,不然会报 ZeroDivisionError 错误。
    • 只有当第二个数字是负数时,求余的结果才是负数。
    • 求余运算两边的数字都是整数时,求余的结果也是整数;但是只要有一个数字是小数,求余的结果就是小数。
    -----整数求余-----
    7%2 = 1
    7%-2 = -1
    -----小数求余-----
    7.7%2.2 = 1.0999999999999996
    -7.7%2.2 = 1.1000000000000005
    -7.7%-2.2 = -1.0999999999999996
    ---整数和小数运算---
    23.4%5 = 3.3999999999999986
    23%4.5 = 0.5
    23.4%-5 = -1.6000000000000014
    -23%4.5 = 4.0
    -23%-4.5 = -0.5
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    **次方运算符

    print('----次方运算----')
    print('3**2 =', 3**2)
    print('2**5 =', 2**5)
    print('----开方运算----')
    print('9**(1/2) =', 9**(1/2))
    print('32**(1/5) =', 32**(1/5))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    执行结果:

    ----次方运算----
    3**2 = 9
    2**5 = 32
    ----开方运算----
    9**(1/2) = 3.0
    32**(1/5) = 2.0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2、赋值运算符

    扩展赋值运算符

    运算符说 明用法举例等价形式
    =最基本的赋值运算x = yx = y
    +=加赋值x += yx = x + y
    -=减赋值x -= yx = x - y
    *=乘赋值x *= yx = x * y
    /=除赋值x /= yx = x / y
    %=取余数赋值x %= yx = x % y
    **=幂赋值x **= yx = x ** y
    //=取整数赋值x //= yx = x // y
    &=按位与赋值x &= yx = x & y
    |=按位或赋值x |= yx = x | y
    ^=按位异或赋值x ^= yx = x ^ y
    <<=左移赋值x <<= yx = x << y,这里的 y 指的是左移的位数
    >>=右移赋值x >>= yx = x >> y,这里的 y 指的是右移的位数
    a = 15
    b = 6
    c = a + b
    print("c 的值为:", c)
    c += a
    print("c 的值为:", c)
    c *= a
    print("c 的值为:", c)
    c /= a
    print("c 的值为:", c)
    c %= a
    print("c 的值为:", c)
    c **= a
    print("c 的值为:", c)
    c //= a
    print("c 的值为:", c)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    执行结果:

    c 的值为: 21
    c 的值为: 36
    c 的值为: 540
    c 的值为: 36.0
    c 的值为: 6.0
    c 的值为: 470184984576.0
    c 的值为: 31345665638.0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    连续赋值运算

    将赋值表达式的值再赋值给另外一个变量,这就构成了连续赋值,如:

     a = b = c = 10
    
    • 1

    c = 100 这个子表达式的值是 10,b = c = 10 表示将 c = 10 的值赋给 b,因此 b 的值也是 10。以此类推,a 的值也是 10。

    所以a、b、c 三个变量的值都是 10。

    3、比较运算符

    比较运算符说明
    >大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。
    <小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。
    ==等于,如果==两边的值相等,则返回 True,否则返回 False。
    >=大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。
    <=小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。
    !=不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。

    比较运算符的使用实例:

    print("89是否大于100:", 8 > 100)
    print("24*5是否大于等于76:", 24*5 >= 80)
    print("45.6是否等于45.6:", 45.6 == 45.6)
    print("45是否等于45.0:", 45 == 45.0)
    print("False是否小于True:", False < True)
    print("True是否等于True:", True == True)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    执行结果:

    89是否大于100: False
    24*5是否大于等于76: True
    45.6是否等于45.6: True
    45是否等于45.0: True
    False是否小于True: True
    True是否等于True: True
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4、逻辑运算符

    运算符含义基本格式说明
    and逻辑与运算,等价于“且”a and b当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。
    or逻辑或运算,等价于“或”a or b当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。
    not逻辑非运算,等价于“非”not a如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。

    对于 and 逻辑与运算,两边的值都为真最终结果才为真,但是只要其中有一个值为假,那么最终结果就是假:

    • 如果左边表达式的值为假,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,最终结果都是假,此时 and 会把左边表达式的值作为最终结果。
    • 如果左边表达式的值为真,那么最终值是不能确定的,and 会继续计算右边表达式的值,并将右边表达式的值作为最终结果

    对于 or 逻辑或运算,两边的值都为假最终结果才为假,只要其中有一个值为真,那么最终结果就是真:

    • 如果左边表达式的值为真,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,最终结果都是真,此时 or 会把左边表达式的值作为最终结果。
    • 如果左边表达式的值为假,那么最终值是不能确定的,or 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。

    5、位运算符

    位运算符说明使用形式举 例
    &按位与a & b4 & 5
    |按位或a | b4 | 5
    ^按位异或a ^ b4 ^ 5
    ~按位取反~a~4
    <<按位左移a << b4 << 2,表示整数 4 按位左移 2 位
    >>按位右移a >> b4 >> 2,表示整数 4 按位右移 2 位

    按位与&

    按位与& 运算符规则:只有两个都是1结果才为1,其余情况都为0

    第一个Bit位第二个Bit位结果
    000
    010
    100
    111

    实例:

    print(12 & 5)
    
    • 1

    执行结果:

    4
    
    • 1

    12 & 5二进制位进行&与运算过程如下:

      0000 1100
    & 0000 0101
    -------------
      0000 0100
    
    • 1
    • 2
    • 3
    • 4

    按位或 |

    按位或 | 运算符规则:只有两个都是0结果才为0,其余情况都为1

    第一个Bit位第二个Bit位结果
    000
    011
    101
    111

    实例:

    print(12 | 5)
    
    • 1

    执行结果:

    13
    
    • 1

    12 | 5二进制位进行|或运算过程如下:

      0000 1100
    | 0000 0101
    -------------
      0000 1101
    
    • 1
    • 2
    • 3
    • 4

    按位异或^

    按位异或^ 运算符的规则:两个值相同结果为0,不同结果为1

    第一个Bit位第二个Bit位结果
    000
    011
    101
    110

    实例:

    print(12 ^ 5)
    
    • 1

    执行结果:

    9
    
    • 1

    12 ^ 5二进制位进行^或运算过程如下:

      0000 1100
    ^ 0000 0101
    -------------
      0000 1001
    
    • 1
    • 2
    • 3
    • 4

    6、运算符优先级和结合性

    结合性:先执行左边的叫左结合性,先执行右边的叫右结合性

    从上到下优先级逐渐减低:

    运算符说明Python运算符结合性优先级顺序
    小括号( )
    索引运算符x[i] 或 x[i1: i2 [:i3]]︿
    属性访问x.attribute|
    乘方**|
    按位取反~|
    符号运算符+(正号)、-(负号)|
    乘除*、/、//、%|
    加减+、-|
    位移>>、<<|
    按位与&|
    按位异或^|
    按位或||
    比较运算符==、!=、>、>=、<、<=|
    is 运算符is、is not|
    in 运算符in、not in|
    逻辑非not|
    逻辑与and|
    逻辑或or|
    逗号运算符exp1, exp2
  • 相关阅读:
    Vue页面监听键盘按键的多种方法
    c语言基础(转义字符、printf()、scanf()详解、文件使用方法)
    贪心 55. 跳跃游戏 45.跳跃游戏 II
    [solidity]合约调用合约
    移动端页面秒开优化总结
    2022年最新Vue常见基础面试题(看这一篇就够了)
    华纳云:负载均衡服务器的作用是什么 有哪些方式
    在给应用ASO优化时要注意些什么
    Linux端口的开启
    589. N 叉树的前序遍历——迭代法实现
  • 原文地址:https://blog.csdn.net/wpc2018/article/details/125560604