• Python运算符与表达式


    Python运算符包括赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符、成员运算符和身份运算符。

    表达式是将不同类型的数据(常亮、变量、函数)用运算符按照一定得规则连接起来的式子。

    算术运算符和算术表达式

    算术运算符包括四则运算符、求模预算符和幂运算符。

    算术运算符 表达式 说明
    + x + y 加法运算
    - x -  y 减法运算
    * x * y 乘法运算
    / x / y 除法运算
    % x%y 求模运算
    ** x**y x的y次方
    // x // y 两数相除向下取整

    Python中的除法运算(Python3.x)进行浮点数计算,也就是说 x/y返回的结果是浮点数。

    %为取模运算,x%y的结果将是x除以y的余数。

    如果要从整数相除中得到一个整数, 丢弃任何小数部分, 可以使用另一个操作符"//"。

    x = 5
    y = 3
    a = 4
    b = 2
    print(x + y) #结果为 7
    print(x - y)  #结果为2
    print(x * y) #结果为15
    print(x / y)  #结果为1.6666666666666667 不同的机器浮点数的结果可能不同
    print(x // y) #向下去整结果为1
    print(x % y) #两数相除取余结果为2
    print(x**y) #5的3次幂结果为125
    
    print(a / b) #结果为浮点数2.0
    print(a % b)#取余结果为0
    print(a // b)#取整结果为2

    关系运算符是对两个对象进行比较。

    运算符 表达式 说明
    == a==b 等于,比较对象是否相等

    !=

    <>

    a !=b

    a <>b

    不等于,比较两个对象是否不相等
    > a > b 大于,比较a是否大于b
    < a < b

    小于,比较a是否小于b

    >= a>=b 大于等于,比较a是否大于或者等于b
    <= a<=b 小于等于,比较a是否小于或者等于b
    a = 4
    b = 2
    c = 2
    print(a == b) #False
    print(a != b)  #True
    print(a <> b)  #True
    print(a > b)   #True
    print(a < b)   #False
    print(a >= b) #True
    print(c <= b) #True

     逻辑运算符与逻辑运算表达式

    运算符 表达式 说明
    and a and b 逻辑与,当a为True时才计算b
    or a or b 逻辑或,当a为False时才计算b
    not not a 逻辑非
    a = 4
    b = 2
    c = 0
    print(a>b and b>c) #a>b为True继续计算b>c,b>c也为True则结果为True
    print(a>b and b<c)#a>b为True继续计算c<b,b>c结果为False则结果为False
    print(a>b or c<b) #a>b为True则不继续计算c<b,结果为True
    print(not c<b) #c<b为True not True结果为False
    print(not a<b) #a<b为False not Flase结果为True

    位运算符

    按位运算符是把数字看作二进制来进行计算的。

    运算符 表达式 说明
    & a & b

    按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

    | a | b 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
    ^ a ^ b

    按位异或运算符:当两对应的二进位相异时,结果为1

    ~ ~a

    按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1

    << a<<2

    左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

    >> a>>2

    右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

     

    运算

    操作

    结果

    a & b

      0011 1100

    & 0000 1101

      0000 1100

    12

    a | b

      0011 1100

    |  0000 1101

      0011 1101

    61

    a ^ b

      0011 1100

    ^ 0000 1101

      0011 0001

    49

    ~a

    ~ 0011 1100

      1100 0011

    -61

    有符号二进制数的补码

    a << 2

    0011 1100 -> 1111 0000

    240

    a >>2

    0011 1100-> 0000 1111

    15

     

    赋值运算符

    运算符 表达式 说明
    = c=a + b 简单赋值运算符, 将 a + b 的运算结果赋值为 c
    += c +=a 加法赋值运算符 c += a 等效于 c = c + a
    -= c -=a 减法赋值运算符 c -= a 等效于 c = c - a
    *= c *=a

    乘法赋值运算符 c *= a 等效于 c = c * a

    /= c /=a

    除法赋值运算符 c /= a 等效于 c = c / a

    %= c %=a

    取模赋值运算符 c %= a 等效于 c = c % a

    //= c //=a 幂赋值运算符 c **= a 等效于 c = c ** a
    **= c **=a

    取整除赋值运算符 c //= a 等效于 c = c // a

    成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

    运算符 表达式 说明
    in a in b 如果在指定的序列中找到值返回 True,否则返回 False。
    not in a not in b 如果在指定的序列中没有找到值返回 True,否则返回 False。
    a=4
    c=0
    list = [1,2,3,4,5]
    if (a in list):
        print("%d is in list:%r"%(a,list))
    if (c not in list):
        print("%d is not in list: %r"%(c,list))

     

    Python的算术表达式具有结合性和优先性。结合性是指表达式按照从左到右、先乘除后加减的原则进行计算。

    Python运算符优先级(由高到低)


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

    另外,小括号可以改变优先级,有()的情况优先计算()中的表达式。

  • 相关阅读:
    交互设计实用指南系列(10)—别让我思考
    交互设计实用指南系列11-减少记忆负担
    交互设计实用指南系列(12)—避免出错
    复杂产品的响应式设计【流程篇】
    JS/jQuery判断DOM节点是否存在
    jquery.validate手册 (5)
    jquery.validate手册 (4)
    jquery.validate手册 (3)
    jquery.validate手册 (2)
    Java零基础学习(二)自定义类型及基本语法
  • 原文地址:https://www.cnblogs.com/lclq/p/5586198.html
Copyright © 2020-2023  润新知