Python学习笔记(4)操作符

1.算术运算符:

  java的算术运算符有+ - * / % ++ --

  python的算术运算符有 + - * / % // **

 其中 + - * / 和java都是一样,分别是 数学运算中的加减乘除和取模,不同的是python没有++ --两个算术运

算符进行自增和自减,而多了// **,下面我们来看看//和**分别是什么意思。

我们在python中分别执行下面两段代码,看看得到的结果是什么

numberOne = 3
numberTwo = 4

print(numberTwo / numberOne)

numberOne = 3
numberTwo = 4

print(numberTwo // numberOne)


从输出结果很容易能够看出来,//是进行除法运算,将结果取整。
 

同样再来看看* 和 **有什么区别,我们只需要将上面两段代码中的/改为*就可以了。分别运行得到下面两个结果



通过结果我们分析,第一段代码就是输出4 * 3 而第二段代码呢?可能对数字敏感的同学已经看出来了,**就是

数学中的幂运算,第二段代码翻译一下就是 4*4*4.


 2.关系运算符

python的关系运算符和java都是一样 >大于、<小于、==等于、!=不等于、>=大于等于、<=小于等于

 3.赋值运算符

 python和java一样,同样支持 +=、-=、/=、*=、%=、并且自己特有的**和//一样可以写成//=、**=

4.逻辑运算符

 python和java一样,都有逻辑运算符,不过不同的是java的运算符 &&与、||或、!非、^异或、&与、|或
而在python中的表现形式为 and与、or或、not非,下面我们分别通过两段代码看看二者的区别和相同点。可以看出,python的逻辑
与逻辑或和逻辑非和java的是一样的。而其他几个java的逻辑运算符这里就不过多解释了,有兴趣可以看看相关介绍java的博客。


5位运算符

位运算符是什么呢,位运算符是进行2进制为单位的运算,他的操作结果都是整数。

位运算符和逻辑运算符在表现形式还是挺像的,都是&与、|或、~非、^异或、<<左移动运算符、>>右移动运算符。这些

运算符分别是什么意思呢,我们先写一段代码,通过代码来分析结果。可以看出来java和python的位运算符都是一样的,除

了java多出来的一个>>>我们先不去管它




既然我们前面说过了,位运算符就是将一个数字以2进制为单位进行计算的运算符,那我们先将35和16换算成2进制
    35---->100011
    16---->010000
    首先解释|运算符,就是将二进制的每一位进行求或
    100011 | 010000 = 110011 换算成10进制就是51
    同样的&运算符,就是将二进制的每一位进行求与
    100011 | 010000 = 000000 换算成10进制就是0
    100011 ^ 010000 = 110011 换算成10进制就是51
    位运算非,~0100011 = 011100 需要注意的是,此时011100是负数的储存形式,转换成10进制需要补码+1并填上符号是-36
    <<运算,就是将二进制数整体向左移,numberOne << numberTwo翻译过来就是100011的每一位数向左移16位,若数为正则高位补0若数为负则高位补1,得到结果为1000110000000000000000转换成10进制就是2293760
    >>运算和<<一样,只不过是向右移,numberOne >> numberTwo = 000000 换算成10进制就是0
    java独有的>>>和>>对比,一个是有符号右移,一个是无符号右移,>>>无论正负高位都补0 numberOne>>>numberTwo 100011向右移16位为000000

Python成员运算符

python还拥有成员运算符 in 和 not in,即在列表中查找是否找到这个值。

Python身份运算符

 python还支持身份运算符 is和not is为判断变量引用是否是同一个和==比较,类似于java字符串比较的==和equals的比较
一个是内存地址的比较,一个是值的比较,在这里python的is类似java中的==而python的==类似java的 equals


猜你喜欢

转载自blog.csdn.net/z89135898/article/details/79128040