Python3 运算符

发布时间:2019-09-27 07:09:28编辑:auto阅读(1912)

    Python3 运算符

    Python3 支持以下类型运算符:

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

    算术运算

    a , b = 2,3

    运算符 说明 示例
    + 加:将两个对象相加 a + b 结果 5
    - 减:将两个对象相减 a - b 结果 -1
    * 乘:将两个对象相乘或复制字符串 a * b 结果 6
    / 除:将两个对象相除;a /b a / b 结果 0.6666666666666666
    % 取模或取余数 a % b 结果 2
    // 整除:将两个对象相除,取整 a // b 结果 0
    ** 指数运算,或幂运算 a ** b 结果 8

    比较运算(关系运算)

    a , b = 2,3

    运算符 说明 示例
    == 等于:比较两个对象是否相等 a == b 结果 False
    != 不等于:比较两个对象不相等 a != b 结果 True
    > 大于:比较对象a是否大于对象b a > b 结果 False
    < 小于:比较对象a是否小于对象b a < b 结果 True
    >= 大于等于:比较对象a是否大于或等于对象b a >= b 结果 False
    <= 小于等于:比较对象a是否小于或等于对象b a <= b 结果 True

    赋值运算

    运算符 说明 示例
    = 赋值运算 a = 1
    += 加法赋值 a += 1 等同于a = a + 1
    -= 减法赋值 a -= 1 等同于 a = a - 1
    *= 乘法赋值 a *= 1 等同于 a = a * 1
    //= 整除赋值 a //= 2 等同于a = a // 2
    %= 取余赋值 a %= 2 等同于 a = a % 2
    ** = 幂运算赋值 a *= 2 等同于 a = a ** 2
    /= 除法赋值 a /= 2 等同于 a = a / 2

    逻辑运算

    a , b = 2 , 3

    运算符 说明 示例
    and 与运算:如果a为 False;a and b 返回 False,否则它返回b 的值 a and b 结果 3
    or 或运算:如果a为True,a or b返回a的值,否则返回b的值 a or b 结果 2
    not 非运算:单目运算符,not a 如果a为True,返回False;反之则返回True not a 结果 False

    位运算

    python的位运算是把数字当作二进制来计算,操作符如下:

    • 按位与:&
    • 按位或:|
    • 按位异或:^
    • 按位取反:~
    • 左移:<<
    • 右移:>>
      具体详细使用暂时不说。

    成员运算

    • 成员运算符有in、not in 两种,这里以下边代码作为说明示例
    #!/usr/bin/python3
    
    a = 'a'
    lisa = ['a', 'b', 'c']
    lisb = ['d', 'e', 'f']
    if a in lisa:
        print('变量a在列表lisa中')
    if a not in lisb:
        print('变量a不在列表lisb中')

    以上代码输出
    变量a在列表lisa中
    变量a不在列表lisb中

    身份运算

    • 身份运算有两个操作符:is 、is not
    • is 与 ==不同,==比较的是值,is比较的是存储对象
    • 以下代码为示例说明
    #!/usr/bin/python3
    
    a = 'a'
    b = 'a'
    
    if a is b:
       print('a 和 b 指向同一个存储对象,有相同的标识')
    else:
       print ('a 和 b 没指向同一个存储对象,没有相同的标识')
    
    if id(a) == id(b):
       print ('a 和 b 指向同一个存储对象,有相同的标识')
    else:
       print ('a 和 b 没指向同一个存储对象,没有相同的标识')
    
    #修改变量 b 的值
    b = 'b'
    
    if a is b:
       print ('a 和 b 指向同一个存储对象,有相同的标识')
    else:
       print ('a 和 b 没指向同一个存储对象,没有相同的标识')
    
    if a is not b:
       print ('a 和 b 没指向同一个存储对象,没有相同的标识')
    else:
       print ('a 和 b 指向同一个存储对象,有相同的标识')
    

    以上代码输出:
    a 和 b 指向同一个存储对象,有相同的标识
    a 和 b 指向同一个存储对象,有相同的标识
    a 和 b 没指向同一个存储对象,没有相同的标识
    a 和 b 没指向同一个存储对象,没有相同的标识

    运算符优先级

    以下表格列出了优先级从高到低所有运算符

    运算符 描述
    ** 指数 (最高优先级)
    ~ , + , - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
    * , / , % , // 乘,除,取模和取整除
    + , - 加法减法
    >> , << 右移,左移运算符
    & 位 'AND'
    ^ 位运算符
    <= , < , > , >= 比较运算符
    <> , == , != 等于运算符
    = , %= , /= , //= , -= , += , *= , **= 赋值运算符
    is , is not 身份运算符
    in , not in 成员运算符
    and , or , not 逻辑运算符

关键字

上一篇: python3 文本变图片

下一篇: python3 笔记