【python技巧】

1)【关于‘&’ :按照二进制进行与操作,可以用作判断奇偶】

    & 是位运算;and 是逻辑运算。

 【举例1】

    >>> a = 1

    >>> b = 2

    >>> #1 的二进制是 1,2的二进制是 10

    >>> a&b

    0

    >>> a and b

    2

 【说明】

  a&b=01&10=00=0

  python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。所以,实例‘a and b’返回的是 2,也就是最后一个真值。

 

【举例2】

  对于(m+n) &1

  若结果为0,则(m+n)是偶数;若结果为1,则(m+n)为奇数;

 

 


 

2)关于“>>”,用来二进制位移。

  >> 是右移,右移1位相当于除以2

  << 是左移,末位补0,类比十进制数在末尾添0相当于原数乘以10,x<<1是将x的二进制表示左移一位,相当于原数x乘2。比如整数4在二进制下是100,4<<1左移1位变成1000(二进制),结果是8。