美文网首页Python程序员
Python 简明教程 --- 5,Python 表达式与运算符

Python 简明教程 --- 5,Python 表达式与运算符

作者: 码农充电站pro | 来源:发表于2020-12-09 09:56 被阅读0次

    靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度。
    —— Bill Gates

    目录

    1,什么是表达式

    表达式是代码的重要组成部分,一个表达式由运算符操作数两部分组成。

    一个表达式就描述了对哪些数据,进行了什么样的操作

    如下就是一个表达式:

    sum = 1 + 2
    

    其中,=+ 都是运算符,=是赋值运算符,+ 是相加运算符,sum12 都是操作数。

    这句话的含义是,将12 相加,并将它们的结果赋值给变量sum

    2,运算符

    Python 中包含丰富的运算符,支持各种运算。如下:

    • 算术运算符
    • 位运算符
    • 关系运算符
    • 赋值运算符
    • 逻辑运算符

    下面对这些运算符逐一进行介绍。

    3,算术运算符

    运算符 含义
    +
    -
    *
    /
    // 除,向下取整
    % 取余
    ** 幂运算

    示例:

    >>> a = 20
    >>> b = 7
    >>> 
    >>> a + b
    27
    >>> a - b
    13
    >>> a * b
    140
    >>> a / b
    2.857142857142857
    >>> a // b
    2
    >>> a % b
    6
    >>> a ** b
    1280000000
    

    4,位运算符

    进行位运算时,会先将数字转换成二进制,然后再做位运算。

    运算符 含义
    & 按位与
    | 按位或
    ^ 按位异或
    ~ 按位取反
    << 左移
    >> 右移

    示例:

    >>> a = 20
    >>> b = 7
    >>> a & b
    4
    >>> a | b
    23
    >>> a ^ b
    19
    >>> ~a       # a 按位取反
    -21
    >>> ~b       # b 按位取反
    -8
    >>> a << 3   # a 左移3 位
    160
    >>> b >> 2   # b 右移2 位
    1
    

    5,关系运算符

    关系运算符又叫比较运算符,其计算结果为TrueFalse

    运算符 含义
    == 是否相等
    != 是否不等
    > 是否大于
    < 是否小于
    >= 是否大于等于
    <= 是否小于等于

    示例:

    >>> a = 20
    >>> b = 7
    >>> a == b
    False
    >>> a != b
    True
    >>> a > b
    True
    >>> a < b
    False
    >>> a >= b
    True
    >>> a <= b
    False
    

    6,赋值运算符

    等号= 是最基本的赋值运算符,= 右边的值称为右值= 左边的值称为左值

    赋值运算符= 的含义是将右值赋值给左值

    例如下面代码,a 为左值,b 为右值,这行代码的含义是,将b 的值赋值给a

    a = b
    

    下面这些赋值运算符,都是在赋值运算符=算术运算符的基础上衍生出来的,是一种简写形式:

    运算符 示例
    += a += b 相当于 a = a + b
    -= a -= b 相当于 a = a - b
    *= a *= b 相当于 a = a * b
    /= a /= b 相当于 a = a / b
    //= a //= b 相当于 a = a // b
    %= a %= b 相当于 a = a % b
    **= a **= b 相当于 a = a ** b

    7,逻辑运算符

    运算符 含义
    and 逻辑与
    or 逻辑或
    not 逻辑非

    示例:

    >>> a = True
    >>> b = False
    >>> a and b
    False
    >>> a or b
    True
    >>> not a
    False
    >>> not b
    True
    

    在数字中,非0 为真,0 为假:

    >>> not 0   #  0 为 False,not 0 为 True
    True
    >>> not 1   #  1 为 True,not 1 为 False
    False
    >>> not 2   #  2 为 True,not 2 为 False
    False
    >>> not -1  # -1 为 True,not -1 为 False
    False
    >>> not -2  # -2 为 True,not -2 为 False
    False
    

    其实,True 就是 1False 就是 0

    >>> True.real
    1
    >>> False.real
    0
    >>> True == 1
    True
    >>> False == 0
    True
    

    在字符串中,非空字符串为真,空字符串为假:

    >>> not ''    # '' 为 False,not '' 为 True
    True
    >>> not 'abc' # 'abc' 为 True,not 'abc' 为 False
    False
    

    8,运算符的优先级

    运算符有优先级之分,表达式在计算的时候,会先计算优先级较高的,处于同一优先级时,会从左到右计算。

    如下表达式,该表达式会先计算2 * 3 结果是6,再计算1 + 6,结果是 7

    >>> 1 + 2 * 3
    7
    

    之所以会先计算 2 * 3,就是因为* 的优先级高于+ 的优先级。

    小括号()的优先级高于我们上面介绍到的所有运算符的优先级,如果想改变计算顺序,可以使用小括号()

    如下表达式,则会先计算1 + 2 结果为3,再计算3 * 3,结果为9

    >>> (1 + 2) * 3
    9
    

    下表汇总了上文中介绍到的所有运算符的优先级,从高到低排序,同一行(用,分隔)中的运算符具有相同优先级:

    运算符 含义
    () 小括号内的表达式优先级最高
    ** 幂运算
    ~x,+x,-x 按位取反,正号,负号
    *,/,%,// 乘,除,取余,整除
    +,- 加,减
    <<,>> 左移,右移
    & 按位与
    ^,| 按位异或,按位或
    >,<,>=,<= 比较运算
    ==,!= 等于运算
    =,+=,-=,*=,/=,%=,//=,**= 赋值运算
    not,and,or 逻辑运算

    建议:推荐使用小括号() 来显示表达式的计算顺序,而不依赖运算符本身的优先级,这样一目了然,方便维护。

    (完。)


    推荐阅读:

    Python 简明教程 --- 0,前言
    Python 简明教程 --- 1,搭建Python 环境
    Python 简明教程 --- 2,第一个Python 程序
    Python 简明教程 --- 3,Python 基础概念
    Python 简明教程 --- 4,Python 变量与基本数据类型

    相关文章

      网友评论

        本文标题:Python 简明教程 --- 5,Python 表达式与运算符

        本文链接:https://www.haomeiwen.com/subject/wfrvwktx.html