zoukankan      html  css  js  c++  java
  • +--*/--基本运算符

    Python语言支持以下类型的运算符:

    • 算术运算符
    • 比较(关系)运算符
    • 赋值运算符
    • 逻辑运算符
    • 位运算符
    • 成员运算符
    • 身份运算符
    • 运算符优先级

    1.算数运算符(可以跟= 形成赋值运算符)

    代码

    a = 23.6
    b = 14.7
    print(a+b)
    print(a-b)
    print(a*b)
    print(a/b)
    print(a%b)
    print(a//b)
    print(a**b)
    print("======================")
    a = 10
    b = 2
    print(a+b)
    print(a-b)
    print(a*b)
    print(a/b)
    print(a%b)
    print(a//b)
    print(a**b)

    结果

    38.3
    8.9
    346.92
    1.60544217687
    8.9
    1.0
    1.51987000319e+20
    ======================
    12
    8
    20
    5
    0
    5
    100

    总结

    + 加 - 两个对象相加 a + b 输出结果 30
    - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
    * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
    / 除 - x除以y b / a 输出结果 2(如果两个都是整数,跟//等效,否则,正常触法)
    % 取模 - 返回除法的余数 b % a 输出结果 0(如果余数不是整数,结果仍然是类似于除法结果)
    ** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
    // 取整除 - 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0(永远取整数结果)

    算术运算符跟赋值运算符可以搭配形成混合运算符。如 a+=b 它等价于 a = a + b

    2.关系运算符

    代码

    a = 2
    b = 1
    print(a > b)
    print(a < b)
    print(a <> b)
    print(a == b)
    print(a != b)
    print(a >= b)
    print(a <= b)

    结果

    True
    False
    True
    False
    True
    True
    False

    总结

    == 等于 - 比较对象是否相等 (a == b) 返回 False。
    != 不等于 - 比较两个对象是否不相等 (a != b) 返回 True.
    <> 不等于 - 比较两个对象是否不相等 (a <> b) 返回 True。这个运算符类似 != 。
    > 大于 - 返回x是否大于y (a > b) 返回 False。
    < 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 True。
    >= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
    <= 小于等于 - 返回x是否小于等于y。

    注意

    它的状态的首字母都是大写的,这是跟java等语言的不同点

    3.位运算符

    代码

    a = 2#00000010
    b = 1#00000001
    print(a & b)
    print(a | b)
    print(a ^ b)
    print(~a)
    print(a>>1)
    print(a<<2)

    结果

    0
    3
    3
    -3
    1
    8

    总结

    & 按位与运算符 (a & b) 输出结果 12 ,二进制解释: 0000 1100(一0则0)
    | 按位或运算符 (a | b) 输出结果 61 ,二进制解释: 0011 1101(一1则1)
    ^ 按位异或运算符 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001(相同则0)
    ~ 按位取反运算符 (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。(01互换)
    << 左移动运算符 a << 2 输出结果 240 ,二进制解释: 1111 0000(每一位往左移动n位)
    >> 右移动运算符 a >> 2 输出结果 15 ,二进制解释: 0000 1111(每一位往右移动n位)

    这个是跟c语言一样的,主要是把两个量,转为二进制进行位的操作

    4.逻辑运算符

    代码

    if 0 and 1:
        print("0 and 1 False")
    print("0 and 1",(0 and 1))
    print("False and 1",(False and 1))
    print("True and 1",(True and 1))
    print(" ")
    if 2 or 3:
        print("2 and 3 True")
    print("2 or 3",(2 or 3))
    print("True or 3",(True or 3))
    print("False or 3",(False or 3))
    print(" ")
    if not 0:
        print("not 0 True")

    print("not 0",(not 0))
    print("not False",(not False))
    print("not 3",(not 3))
    print("not True",(not True))

    结果

    ('0 and 1', 0)
    ('False and 1', False)
    ('True and 1', 1)


    2 and 3 True
    ('2 or 3', 2)
    ('True or 3', True)
    ('False or 3', 3)


    not 0 True
    ('not 0', True)
    ('not False', True)
    ('not 3', False)
    ('not True', False)

    总结

    and 布尔"与" - 如果x为False,x and y返回False,否则它返回y的计算值。 (a and b) 返回 true。
    or 布尔"或" - 如果x是True,它返回True,否则它返回y的计算值。 (a or b) 返回 true。
    not 布尔"非" - 如果x为True,返回False。如果x为False,它返回True。 not(a and b) 返回 false

    5.成员运算符

    代码

    if 1 in (1,2,3,4):
        print("1 in (1,2,3,4)")
    else:
        print("1 not in (1,2,3,5)")
    if 1 not in (2,3,3):
        print("1 not in (2,3,4)")
    else:
        print("1 in (2,3,4)")

    结果

    1 in (1,2,3,4)
    1 not in (2,3,4)

    结论

    in 如果在指定的序列中找到值返回True,否则返回False。 x 在 y序列中 , 如果x在y序列中返回True。
    not in 如果在指定的序列中没有找到值返回True,否则返回False。 x 不在 y序列中 , 如果x不在y序列中返回True。

    6.身份运算符

    代码

    a ="hahaha"
    b = "hahaha"
    print(a is b)
    print(id(a) == id(b))

    结果

    a ="hahaha"
    b = "hahaha"
    print(a is b)
    print(id(a) == id(b))

    总结

    is is是判断两个标识符是不是引用自一个对象 x is y, 如果 id(x) 等于 id(y) , is 返回结果 1
    is not is not是判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1

    感觉它有点像是判断两个值是否相等。具体有什么用处还不明白,等以后用到再深入研究吧

  • 相关阅读:
    国际区号选取组件
    python和js执行字符串函数
    mysql存储过程循环遍历某个表以及事件
    mysql创建远程用户
    ubuntu改文件夹权限
    mysql最大连接数
    MSYS
    Eclipse Java 可视化插件
    你不知道的继承
    vue3.x
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/vz_1561181.html
Copyright © 2011-2022 走看看