Python 运算符

作者: 老黄爱Python | 来源:发表于2017-01-14 22:59 被阅读34次
    逻辑和运算是程序重要组成部分,我们先来认识Python中的运算符:

    1:算数运算符
    2:比较运算符
    3:逻辑运算符


    1. 算数运算符:
    运算符 描述
    +, -, *, / 加减乘除
    % 求余
    ** 幂运算
    // 地板除只保留商

    具体使用如下:

    >>> x =10
    >>> y = 20
    >>> x + y
    30
    >>> x * y
    200
    >>> x / y
    0.5                      #计算结果:浮点
    >>> y / x
    2.0
    >>> x ** 2               #幂运算
    100 
    >>> x // y
    0                        #计算结果:只取整数部分
    >>> y // x
    2                        #计算结果:只取整数部分
    

    算数运算符的优先级,通过实验证明下:

    >>> 3 * 4 ** 2      #从结果看:先计算4**2=16, 在计算3*16=48 ,所以优先级 幂运算大于乘法
    48
    >>> 10 - 2 * 6      #从结果看:先计算2*6=12, 在计算 10-12 = -2, 所以优先级 乘法大于减法
    -2
    

    优先级:幂运算 , 乘除求余地板除, 加减法
    编程过程中如何解决默认优先级问题,比如先计算加减,在计算乘除?
    我们使用()解决优先级问题;
    例如年计算年薪:(基本薪资+补助-保险)* 12

    >>> salary = 8000
    >>> added = 200
    >>> deduction = 500
    >>> all = (salary + added - deduction) * 12
    >>> all
    92400
    
    2. 比较运算符:
    运算符 描述(a, b为操作数)
    == 恒等于:a == b, a等于b, 值为True,否则为False
    != 不等于:a != b, a不等于b, 值为True,否则为False
    > 大于:a > b, a大于b, 值为True,否则为False
    < 小于:a < b,a小于b, 值为True,否则为False
    >= 大于等于:a >= b:,a小于或等于b, 值为True,否则为False
    <= 小于等于:a<=b,a小于或等于b,值位True,否则为False

    比较运算符,一操作就明白意思:

    >>> a = 10
    >>> b = 20
    >>> a == 10
    True
    >>> a != 10
    False
    >>> a > b
    False
    >>> a < b
    True
    >>> a >= 8
    True
    >>> a >= 10
    True
    

    比较运算符和if/else语句一起使用:
    脚本文件 test.py:

    passline = 60
    score = int(raw_input('Enter:')) #输入的字符串转化成数字,只能输入数字
    if score > 60:
        print ('Pass')
    else:
        print ('Failed')
    

    执行结果如下:

    $ python test.py 
    Enter:80
    Pass
    $ python test.py 
    Enter:40
    Failed
    
    3. 逻辑运算符:
    运算符 描述 (a,b为操作数)
    and 逻辑与:a and b, a和b全为真,表达式值为运算符最后一个操作数,否则为第一个值为假的操作数
    or 逻辑或:a and b,a和b有一个为真,表达式值为第一个是真的操作数,否则为False
    not 逻辑非,not a,a为真,表达式结果假,反之为真

    解释半天不如实际操作一番,先来看and:

    >>> a = 10
    >>> b = 20
    >>> a and b                  #操作数全为真,返回最后一个操作数
    20
    >>> a and b and 100          #操作数全为真,返回最后一个操作数
    100
    >>> a and b and 0            #0为假
    0
    >>> 0 and a                  #0为假
    0
    >>> print (a and b and None) #返回第一个不为真的操作数None
    None
    >>>
    

    再开看or:

    >>> a = 10
    >>> b = 20
    >>> a and b       #返回第一个是真的操作数
    20
    >>> a or None     #返回第一个是真的操作数,就算有假也改变不了
    10
    >>> None or False #都是假,返回最后一个操作数
    False
    >>> not a         #顺便看下not
    False
    >>> not None
    True
    >>> not 10
    False
    >>> 
    
    4. 优先级问题:

    先验证算术运算符

    >>> 100/10**2      #如果先计算100/10,那么结果还是100,所以先计算10**2
    1
    >>> a = 10
    >>> b = 20
    >>> b - a * 2      #解释为: t=a*2=20, b-t=0, *优先级高于减法
    0
    >>> a + b - 10     #加减法优先级相同,从左向右计算
    20
    >>> a * b / 20     #*/%优先级相同,从左向右计算(其他运算符自己操作下)
    10
    >>>
    

    验证算数运算符和比较运算符:

    >>> a = 10
    >>> b = 20
    >>> a - b > 1   #这个怎么说?看下面单步分析
    False 
    >>> a - b       #a-b的值-1, -1>1的值肯定是False,所以先减法后比较
    -10
    >>> b > 1       #反推:b>1的值True
    True
    >>> a - True    #a-True的值是9,a-b>1的值不是9,所以,先比较后计算不成立
    9
    

    验证比较运算符和逻辑运算符:

    >>> not - 1 > 0   #咋弄?逐步分析:从左向右
    True
    >>> not  - 1      #:not -1 的值False
    False
    >>> False > 0     #推出肯定不是先计算not -1,推出先计算-1 > 0吗,然后计算not
    False
    >>> 10 > 8 and 1  #再看and :如果先计算8 and 1返回值应该是True,所以...
    1
    

    结果已经出来了:
    幂运算>乘除>加减>比较运算符>逻辑运算

    算数运算符就讲到这里,后面代码编写过程中我们经常用到,理解大于记住,但是能记住还是要记住。

    相关文章

      网友评论

        本文标题:Python 运算符

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