附注:

1.  Python中的按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

按位与   ( bitwise and of x and y )

&  举例: 5&3 = 1  解释: 101  11 相同位仅为个位1 ,故结果为 1

按位或   ( bitwise or of x and y )

|  举例: 5|3 = 7  解释: 101  11 出现1的位是 1 1 1,故结果为 111

按位异或 ( bitwise exclusive or of x and y )

^  举例: 5^3 = 6  解释: 101  11 对位相加(不进位)是 1 1 0,故结果为 110

按位反转 (the bits of x inverted )

~  举例: ~5 = -6  解释: 将二进制数+1之后乘以-1,即~x = -(x+1),-(101 + 1) = -110

按位反转仅能用在数字前面。所以写成 3+~5 可以得到结果-3,写成3~5就出错了

按位左移 ( x shifted left by n bits )

<< 举例:  5<<2 = 20 解释:101 向左移动2位得到 10100 ,即右面多出2位用0补

按位右移 ( x shifted right by n bits )

>> 举例: 5>>2 = 1  解释:101 向右移动2位得到 1,即去掉右面的2位

2.   Python中 and 和 or 的用法:

Python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。

      or也是从左到右计算表达式,返回第一个为真的值。
      >>>'a'and'b'
      'b'
  >>>''and'b'
  ''
  >>>'a'or'b'
  'a'
  >>>''or'b'
  'b'
3.   为了使表达式更易于阅读,可以使用圆括号改变优先级。例如, 2 + (3 * 4) 要比 2 + 3 * 4 更易于理解,因为第二个表达式需要了解操作符的优先级。与任何其他的事情一样,圆括号应该合理地
    使用,而不应使其冗余。
4.  结合顺序:
    运算符通常是从左往右结合的,例如,有相同优先级的运算符按照从左向右的顺
    序计算。例如, 2+3+4 的顺序是 (2+3)+4。一些运算符,如赋值运算符有从右向左的
    结合顺序,例如 a=b=c被当成 a=(b=c)。

Python中的操作符及优先级的更多相关文章

  1. Python中的操作符重载

    运算符重载是指在方法中拦截内置的操作----当类的实例出现在内置操作中,Python会自动调用自定义的办法,并且返回自定义方法的操作结果.     类可以重载python的操作符 操作符重载使我们的对 ...

  2. Python中字符运算的优先级

    表1-2 运算符优先级 运算符 描述 lambda Lambda表达式 or 布尔“或” and 布尔“与” not x 布尔“非” in,not in 成员测试 is,is not 同一性测试 &l ...

  3. python中的逻辑操作符

    python中主要有三个逻辑操作符,分别是:and.or.not. and:且,所有人为真才为真. or:或,一个为正就是真. not:非,取反. >>> print(3>2 ...

  4. Python中的集合类型分类和集合类型操作符解析

    集合类型    数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements).    Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...

  5. C、C++中“*”操作符和“后++”操作符的优先级

    假设有如下的定义 char carr[] = {"test"}; char cp = carr; 那么表达式 *cp++; 的右值是什么呢? 这个表达式在数组遍历的程序中非常常见, ...

  6. C语言中操作符的优先级大全

    C语言中操作符的优先级大全, 当然c++, Objective-C,大部分语言都试用. 下面是来自The C Programming Language 2th的总结. OperatorsAssocia ...

  7. 【转载】python中not,and,or的优先级问题及用法

    作业: >>> print(5<4 or 3)3>>> print(2>1 or 6)True>>> print(5>1 and ...

  8. python中的and、or 操作符

    在python中 非空 非零的数都为真 1. 其"and"操作符返回的结果是决定表达式结果的值:两边条件都为真则结果为真,有一假则为假 1) 当and两边条件为“真”时,返回的是a ...

  9. python学习笔记七--数据操作符的优先级

    一.混合表达式哪个部分先计算: 1. 取决于操作符的优先级,不同操作符的优先级是不一样的,例如‘*’的优先级高于‘+’ 2. 上节的表格里越靠后,优先级越高. 3 . 同一表达式的相同操作符是按从左到 ...

随机推荐

  1. linux中查找命令find、locate、whereis、which、type的区别

    find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/var/lib/locatedb)文件不同,find查找的是磁盘空间. locate locate命令其实 ...

  2. 用myeclipse连接MySQL8.0时没有配置jar包

    先上测试代码 package testJdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql. ...

  3. java使用validator进行校验

    不管是html页面表单提交的对象数据还是和第三方公司进行接口对接,都需要对接收到的数据进行校验(非空.长度.格式等等).如果使用if一个个进行校验(字段非常多),这是让人崩溃的过程.幸好jdk或hib ...

  4. ESXi 制作模板并优化 Centos

    1.修改网络配置 vi /etc/sysconfig/network-scripts/ifcfg-eth0 #编辑network配置文件修改以下两项 (eth1同理) ONBOOT=yes BOOTP ...

  5. 事务配置在applicationContext.xml文件中不起作用,控制不了异常回滚

    一.博主在学习到整合ssm框架的时候,遇到一个奇葩的问题就是将 事务的控制 ,写在在applicationContext.xml文件中不起作用,在事务控制的方法中,即使出现了异常,但是事务不会回滚的坑 ...

  6. POJ2367(拓扑排序裸题

    #include<iostream> #include<vector> #include<queue> using namespace std; typedef l ...

  7. FZU2275 Game(kmp

    暑假wa的题了,,,看见vj的attempt痕迹打算挨个补了,简单kmp题,判断bob的串是不是全为0或者是alice的字串就好了 #include<algorithm> #include ...

  8. Python【无引号、单引号、双引号、三引号】

    无引号#数字和数学运算是标准化.有固定格式的>>> print(520) 520>>> print(1+1)2 单引号#文字却能够千变万化>>> ...

  9. 界面(UI)测试基础

    界面测试,在web程序雏形后就持续测试到项目交付. 项目中的界面测试 此刻需要感慨下“产品经理”的重要性:没有产品把关整个项目,做出来的东西只能叫做“程序”而非“产品” 有产品的工作流,测试在界面测试 ...

  10. Codeforces 1178F2. Long Colorful Strip

    传送门 首先涂区间,那么区间最多有 $2n$ 个相邻位置不同的情况,并且连续相同的颜色可以合并起来 那么这样操作完以后,区间长度最多为 $2n$ 发现涂完一段区间以后其他的操作都不能出现一边在区间内而 ...