• 第2.3节 Python运算符大全


    一、 Python的算术运算
    Python的算术运算符与C语言类似,略有不同。包括加(+)、减(-)、乘(*)、除(/)、取余(%)、按位或(|)、按位与(&)、按位求补(~)、左移位(<<)、右移位(>>)、单目求反(-)、幂运算(**)、整除运算(//)、增强运算、增强矩阵乘法(@)。
    增强运算是将算术运算符或逻辑运算符放到等号的左侧,与C语言的增强运算符相同。如x+=5,表示x=x+5,该种方法CPU的处理效率高于普通运算方式,且执行优先级也高些。
    下面看看这些运算的例子,大家可以理解一下:

    >>> 10%3
    1
    >>> 10//3
    3
    >>> 10**3
    1000
    >>> n=False
    >>> n
    False
    >>> type(n)
    <class 'bool'>
    >>> i=0
    >>> i==n
    True
    >>> 4>>2
    1
    >>> 4<<2
    16
    >>> ~4
    -5
    >>> 2&4
    0
    >>> 2|4
    6
    >>> m=2
    >>> m**=3
    >>> m
    8

    二、Python的布尔类型

    在介绍比较急逻辑运算之前,需要介绍一个前面没有介绍的bool(布尔)数据类型。
    布尔数据类型是用于条件判断、比较运算和逻辑运算,只有两个值真(True)和假(False)。布尔类型其实是int的子类,False和True对应的值是0和1。但真正使用时,下面的值都将被视为假:
    False None 0 “” () [] {}
    也就是说标准值False和None、各种类型(包括浮点数、复数等)的数值0、空序列(如空字符串、空元组和空列表)以及空映射(如空字典)都被视为假,而其他各种值都被视为真。
    看看下面的运算结果:

    >>> 10%3
    1
    >>> 10//3
    3
    >>> 10**3
    1000
    >>> n=False
    >>> n
    False
    >>> type(n)
    <class 'bool'>
    >>> i=0
    >>> i==n
    True
    >>> 4>>2
    1
    >>> 4<<2
    16
    >>> ~4
    -5
    >>> 2&4
    0
    >>> 2|4
    6
    >>> m=2
    >>> m**=3
    >>> m
    8

    三、 比较运算

    比较运算表达式 解释
    x==y x是否等于y
    x>y x是否大于y
    x<y x是否小于y
    x>=y x是否大于等于y
    x<=y x是否小于等于y
    x!=y x是否不等于y
    x is y x是否和y是同一对象
    x is not y x是否和y不是同一对象
    x in y x是否是y的元素
    x not in y x是否不是y的元素

    以上运算中的后2个主要用于复杂数据类型的成员判断,后面讲这些数据类型会用到。

    四、 逻辑运算
    逻辑运算与C语言的类似,有逻辑或(or)、逻辑与(and)、逻辑非(not),但没有C语言的简单运算符号||、&&、!。
    看看运算实例:

    >>> True == 1
    True
    >>> False == 0
    True
    >>> True + True 
    2

    从上面后几个示例看出,逻辑运算符and和or不一定都是返回True或False,or当其中参与运算的数据有个值不为False(包括False、0、空等,下同)则直接返回该数据,and当所有数据都不为False则返回最后一个数据。

    五、 运算符的优先级
    下面列出了所有运算符的优先级,数值越大,表示优先级越高。
    在这里插入图片描述

    上述运算符中有个lambda,这是个lambda就是用来定义一个匿名函数的。老猿认为用处不大,具体内容大家可以在网上查一下。

    更正:
    在上一章节,关于Python语句部分的前面部分内容强调“必须缩进4个空格”缩进与该章节“Python的代码嵌套格式”描述不一样,实际上相关要求是遵循“Python的代码嵌套格式”的情况下,推荐使用一次缩进4个空格。
    另外关于语句中冒号的使用,只说明了那些语句后面必须有冒号,但其实冒号指出来接下来是一段(也可以只有一行)统一缩进的代码块。

  • 相关阅读:
    洛谷 P6851 【onu】贪心
    联赛模拟测试12 C. sum 莫队+组合数
    晚间测试4 哪一天她能重回我身边 神奇建图+基环树
    联赛模拟测试11 D. 甜圈 线段树维护哈希值
    CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 树上启发式合并(DSU ON TREE)
    CF788B Weird journey 题解
    联赛模拟测试10 C. 射手座之日
    晚间测试3 B. 单(single)
    CF538B Quasi Binary 思维题
    CF600E Lomsat gelral 树上启发式合并
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/11087743.html
Copyright © 2020-2023  润新知