python运算符

python中提供了多种类型的运算符帮助我们解决实际问题。对于python的运算符,你了解多少呢?

分类:

算术运算符

        取a = 1, b = 2

        +        #加                                # a + b = 3

        -         #减                                # a -  b = -1

        *         #乘                                # a *  b = 2

        /          # 除                               # a /  b = 0.5

        %        # 求余数                        # a % b = 1

        //         # 整除                            # a // b =  0

        **        # 幂次方                         # a ** b = 1

关系(比较)运算符

        ==        比较等于:比较两个对象的值是否相等

        !=         不等于:比较两个对象的值是否不相等        

        >          大于:运算符左边的对象值是否大于右边对象的值

        <           小于:运算符左边的对象值是否小于右边对象的值

        >=         大于或等于:运算符左边的对象值是否大于或等于右边对象的值

        <=         小于或等于:运算符左边的对象值是否小于或等于于右边对象的值

逻辑运算符

        与(and) 

 如果参与运算的两个操作数都为True,则结果为True,否则运算结果为False。

        或(or)       

如果参与or运算的两个操作数有一个为True,则运算结果为True;两个操作数都False时,则返回结果False.

        非(not)       

 not只需要一个操作数,它对原值取反,即操作数为True时,非运算完后为False;原操作数为False时,非运算完后True。

成员运算符

        in                判断指定对象是否在序列中找到,是返回True,否返回False

        not in          与in相反,判断指定对象是否不在序列中找到,是返回True,否返回False。

身份运算符

        is                

        判断指定对象是否引用自同一对象,即是否具有相同的id地址,是返回True,否返回False。

        is not

        与is相反,判断指定对象是否引用自不同的对象,即是否具有不同的id地址,是返回True,否返回False。

注意:"=="与 is 的区别:        

        ==判断的是值        指定对象的值是否相等

        is 判断的是地址     指定对象id地址是否相等

赋值运算符

        =                 #赋值符,将右侧的值赋值给左侧

        +=                #例:a += 1   ==>      a = a +1        (后面以此类推)

        -=

        *=

        /=

        %=

        //=

        :=

位运算符(二进制)       

 例如:a = 2   b = 4

        &      两者都为真,则为真

        a & b = 0

        0000 0010        #a

        0000 0100        #b

        0000 0000        #a & b        

        |       只要一者为真,则为真   

          a | b = 6

        0000 0010        #a

        0000 0100        #b

        0000 0110        #a | b   

        ^       相反为真,否则为假

          a ^ b = 6

        0000 0010        #a

        0000 0100        #b

        0000 0110        #a ^ b   

        ~       所有位都取反

         ~ a = -3        ~ b = -5

        0000 0010        #a

        0000 0010        #a的补码

        1111 1101        #a取反

        1000 0010        #a取反

        1000 0011        #a加一  ==>  ~a

        >>     右移运算符

                b >> a        4>>2        0000 0100   --->    0000 0001        #1

        <<      左移运算符

                b << a        4<<2        0000 0100   --->    0001 0000        #16

自加与自减运算符(非python内的,仅作了解)

        ++

        --

前++,和前--,优先级别非常高,仅次于(),先运行

后++,和后--,优先级别非常低,甚至比赋值符号都要低!!!

注意:python为了降低学习难度,因此python中没有自加与自减运算符!

三目运算符:

        在C、C++、Java中,三目运算符的表达式是:变量 = 表达式 ?值1 : 值2

        而在python中,三目运算符的表达式是:变量 = 值1 if 表达式  else 值2


补充:

原码:将一个其他进制直接转换为二进制的结果

反码:符号位不变,其余各位统统取反

补码:反码+1

(在其原码的基础上,符号位不变,其余各位取反,最后+1。(也即在反码的基础上+1)

例题:

3  +(-10)

0000 0011        #3

1000 1010        #-10        (第一位位符号位,1代表负数,0代表正数)

#对-10进行反码补码:

1000 1010        #-10 

1111  0101        #-10反码

1111  0110        #-10补码

0000 0011        #3

1111  0110        #-10补码

1111  1001        #相加得到的补码形式

1111  1000        #相加得到的补码形式的反码

1000  0111        #相加得到的补码形式的原码        -7

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值