运算符

作者: 小董不太懂 | 来源:发表于2019-03-25 13:57 被阅读0次

    什么是运算符?

    本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,45 被称为操作数,"+" 称为运算符。

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

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

    接下来让我们一个个来学习Python的运算符。

    python算术运算符

    以下假设变量a为10,变量b为21:

    运算符 描述 实例
    + 加 - 两个对象相加 a + b 输出结果 31
    - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11
    * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210
    / 除 - x 除以 y b / a 输出结果 2.1
    % 取余 - 返回除法的余数 b % a 输出结果 1
    ** 幂 - 返回x的y次幂 a**b 为10的21次方
    // 取整除 - 向下取接近除数的整数

    以下实例演示了Python所有算术运算符的操作:

    a, b = 10, 3
    
    #加法运算符
    c = a + b
    print(c)
    
    #减法运算符
    c = a - b
    print(c)
    
    #乘法运算符
    c = a * b
    print(c)
    
    #除法运算符
    c = a / b
    print(c)
    
    #幂运算符
    c = a**b
    print(c)
    
    #取余运算符
    c = a % b
    print(c)
    
    #取整除运算符
    c = a//b
    print(c)
    

    输出如下:

    13
    7
    30
    3.3333333333333335
    1000
    1
    3
    

    Python比较运算符

    以下假设变量a为10,变量b为20:

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

    以下实例演示了Python所有比较运算符的操作:

    a = 21
    b = 10
    c = 0
     
    if ( a == b ):
       print ("1 - a 等于 b")
    else:
       print ("1 - a 不等于 b")
     
    if ( a != b ):
       print ("2 - a 不等于 b")
    else:
       print ("2 - a 等于 b")
     
    if ( a < b ):
       print ("3 - a 小于 b")
    else:
       print ("3 - a 大于等于 b")
     
    if ( a > b ):
       print ("4 - a 大于 b")
    else:
       print ("4 - a 小于等于 b")
     
    # 修改变量 a 和 b 的值
    a = 5;
    b = 20;
    if ( a <= b ):
       print ("5 - a 小于等于 b")
    else:
       print ("5 - a 大于  b")
     
    if ( b >= a ):
       print ("6 - b 大于等于 a")
    else:
       print ("6 - b 小于 a")
    

    输出结果如下:

    1 - a 不等于 b
    2 - a 不等于 b
    3 - a 大于等于 b
    4 - a 大于 b
    5 - a 小于等于 b
    6 - b 大于等于 a
    

    Python赋值运算符

    以下假设变量a为10,变量b为20:

    运算符 描述 实例
    = 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
    += 加法赋值运算符 c += a 等效于 c = c + a
    -= 减法赋值运算符 c -= a 等效于 c = c - a
    *= 乘法赋值运算符 c *= a 等效于 c = c * a
    /= 除法赋值运算符 c /= a 等效于 c = c / a
    %= 取模赋值运算符 c %= a 等效于 c = c % a
    **= 幂赋值运算符 c **= a 等效于 c = c ** a
    //= 取整除赋值运算符 c //= a 等效于 c = c // a

    以下实例演示了Python所有赋值运算符的操作:

    a, b, c = 15, 5, 7
    
    c = 3
    print(c) #简单的赋值运算,将3赋值给c
    
    c += a #c在运算前已经被赋值为3了
    print(c)
    
    c -= b 
    print(c)
    
    c *= a
    print(c)
    
    c /= a
    print(c)
    
    c **= 2
    print(c)
    
    c %= 2
    print(c)
    
    c //= 2
    print(c)
    #我觉得这个不难理解吧,c一直被赋值
    

    输出如下:

    3
    18
    13
    195
    13.0
    169.0
    1.0
    0.0
    

    Python位运算符(暂时可忽略)

    Python逻辑运算符

    Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

    运算符 逻辑表达式 描述 实例
    and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
    or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
    not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

    以上实例输出结果:

    a = 5
    b = 6
    
    if (a and b):   #真真才真
        print('大吉大利')
    else:
        print('今晚不宜吃鸡')
    
    if (a or b): #有真为真
        print('宝塔镇河妖')
    else:
        print('小鸡炖蘑菇')
    
    #修改a的值
    a = 0
    
    if (a and b):
        print('大吉大利')
    else:
        print('今晚不宜吃鸡')
    
    
    if (a or b):
        print('宝塔镇河妖')
    else:
        print('小鸡炖蘑菇')
    
    if not (a and b): #显然(a and b)为假>>>not (a and b)自然为真
        print('学挖掘机哪家强')
    else:
        print('山东济南找蓝翔')
    

    输出如下:

    大吉大利
    宝塔镇河妖
    今晚不宜吃鸡
    宝塔镇河妖
    学挖掘机哪家强
    

    Python成员运算符

    除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

    运算符 描述 实例
    in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
    not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

    以下实例演示了Python所有成员运算符的操作:

    a = 5
    b = 6
    list = [1, 2, 4, 5, 8]
    
    if (a in list):
        print("年少不识李鸿章")
    else:
        print('生命诚可贵')
    
    if(b not in list):
        print('长大方知真中堂')
    else:
        print('我就是不入党')
    

    输出结果如下:

    年少不识李鸿章
    长大方知真中堂
    

    Python身份运算符

    身份运算符用于比较两个对象的存储单元

    运算符 描述 实例
    is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
    is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

    注:id()函数用于获取对象内存地址。

    以下实例演示了Python所有身份运算符的操作:

    a = 20
    b = 20
    
    if (a is b):
        print('我们是一模一样的啊')
    else:
        print('我们不一样')
    if id(a)==id(b):
        print('我们的id一样啊')
    else:
        print('我们的id不一样')
    
    
    b = 10
    
    if (a is not b):
        print('爱你一万年')
    else:
        print('提上裤子不认人')
    if id(a)==id(b):
        print('id相同')
    else:
        print('id不同')
    

    输出如下:

    我们是一模一样的啊
    我们的id一样啊
    爱你一万年
    id不同
    

    注:is 与 == 区别:

    is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

    >>>a = [1, 2, 3]
    >>> b = a
    >>> b is a 
    True
    >>> b == a
    True
    >>> b = a[:]
    >>> b is a
    False
    >>> b == a
    True
    

    Python运算符优先级

    由高到低依次为:

    1. 幂运算:**
    2. 正负号:+X,-X
    3. 算术操作符:*,/,//,+,-
    4. 比较操作符:<,<=,>,>=,==,!=
    5. 逻辑运算符:not,and,or

    相关文章

      网友评论

          本文标题:运算符

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