美文网首页
4-运算和运算符

4-运算和运算符

作者: 胖腚猴 | 来源:发表于2017-09-17 17:34 被阅读0次
              #运算
    

    由一个以上的值经过变化得到新值的过程就是运算。

    运算符

    用于运算的符号就是运算符

    运算的分类

    1.算数运算
    2.比较运算/关系运算
    3.赋值运算
    4.逻辑运算
    5.位运算
    6.成员运算
    7.身份运算
    

    算数运算

    +   加法运算
    -   减法运算
    *   乘法运算
    /   除法运算
    %   取余运算
    //  取商运算/地板除
    **  幂运算
    

    注意:python中没有自增的++,也没有自减的--运算

    关系运算/比较运算

    >   大于运算
    <   小于运算
    ==  等于运算
    >=  大于等于运算
    <=  小于等于运算
    !=  运算
    

    注意:python中没有类型判断 所以没有 ===和!== 运算

    赋值运算

    =   普通赋值运算
    +=  加法赋值运算
    -=  减法赋值运算
    *=  乘法赋值运算
    /=  除法赋值运算
    %=  取余赋值运算
    //= 取商赋值运算
    **= 幂赋值运算  
    

    注意:所有运算赋值操作的格式都可以转化为 【变量 = 变量 运算符 值】,等号两侧一定都是变量

    var /=5   ->  var = var /5
    

    逻辑运算

    逻辑运算就是布尔值之间的运算。python只有三种运算方式。

    and 逻辑与运算
    or  逻辑或运算
    not 逻辑非运算
    

    and逻辑与运算:有假则假

    洗屁股:
        左手洗了左屁股True,右手洗了右屁股True,洗完了屁股True
        左手洗了左屁股True,右手没有洗有屁股False,没有洗完屁股False
        左手没洗左屁股False,右手洗了右屁股True,没洗完屁股False
        左手没有洗左屁股False,右手没有洗右屁股False,没洗完屁股False
    

    or逻辑或运算:有真则真

    孩子丢了找孩子:
        你没找到孩子False,你媳妇也没有找到孩子False,孩子没找到!False
        你找打了孩子True,你媳妇没找到孩子False,孩子找到了True
        你没有找到孩子False,你媳妇找到了孩子True,孩子找到了True
        你和你媳妇同时找打了孩子(True和True),孩子找到了True
    

    not逻辑非运算:真变假,假变真

    大老爷们去泰国!
    
        纯爷们(True),做了手术,不是纯爷们了(False)
    

    注意:逻辑运算一共四种,python只提供了三种:没有提供逻辑抑或运算

    xor 逻辑抑或运算:相同为假,不同为真
    
    结婚:
        一个爷们(True),一个娘们(False),可以结婚(True)
        一个娘们(False),一个爷们(True),可以结婚(True)
        一个爷们(True),一个爷们(True),不可以结婚(False)
        一个娘们(False),一个娘们(False),不可以结婚(False)
    

    位运算

    在二进制基础上进行的逻辑运算就是位运算。

    &   按位与运算
    |   按位或运算
    ~   按位非运算
    ^   按位抑或运算
    >>  右移运算  相当于地板除2运算(取商)
    <<  左移运算     相当于×2运算
    

    成员运算

    检测一个数据是否在指定的容器(复合数据)当中(返回bool)
    检测一个数据1是否在另外一个数据2当中

    格式:  数据1 in 数据2
    
    
    检测一个数据1是否不再另外一个数据2当中
    
    格式: 数据1 not in 数据2
    

    身份检测

    作用是检测2个变量在内存中是否是同一个值(返回bool)

    检测2个变量是不是同一个值
    
    格式:  数据1 is 数据2
    
    检测2个变量是不是不是同一个
        
    格式: 数据1 is not 数据2
    

    运算优先级的问题

    我们自己写程序优先级使用()来解决。

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

    注意:我们并不推荐死记硬背优先级,在实际使用中最好使用()解决优先级问题

    检测数据归属类型

    type() 测试可以使用 开发尽量避免

    isinstance() 检测一个数据是否由指定的类型创建,返回bool

    格式: isinstance(变量,检测的类型)
    
    检测的类型名称就是类型转换的那些功能的名称,不需要()

    相关文章

      网友评论

          本文标题:4-运算和运算符

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