算数运算符

  • + - * / ** %
  • /表示自然除,结果是浮点数。//为整除。python2.x版本/和//都是整除。

位运算符

  • & | ~ ^ << >>
  • <<和>>的运算:乘除2的整数倍。例如:16>>2 相当于 16//2**2 , 4<<2 相当于4*2**2

比较运算符

  • ==    !=    >    <   >=   <= 返回boolean值
  • 链式比较操作 4>x >=2

逻辑运算符

  • 与 或 非 and or not
  • 短路:
    1. and 如果第一个表达式为False,后面不用计算了,都为False,可以将and看作是做“乘法运算“。
    2. or如果第一个表达式返回True,后面不用计算了,都为True,可以将or看作是做“加法运算”。

赋值运算符

  • 等号:a = 5
  • +=   -=  *=  /=  %=
  • x = y = z = 1

成员运算符

  • in、not in

身份运算符

  • is、 is not

运算符优先级(由高到低)

运算符  描述
'expr' 字符串转换
{key:expr,...} 字典
[expr1,expr2...] 列表
(expr1,expr2,...) 元组
function(expr,expr2,...) 函数调用
x[start:stop:step] 切片
x[index] 下标索引取值
x.attribute 属性引用
~x 按位取反
+x, -x 正,负
x**y
x*y, x/y, x%y

乘,除,取模

x+y, x-y

加,减

x << y, x>>y 位移
x&y 按位与
x^y 按位异或
x|y 按位或

x < y, x <= y, x==y,

x!=y, x>=y, x>y

比较
x is y, x is not y 等同测试
x in y, x not in y 成员判断
not x 逻辑否
x and y 逻辑与
x or y 逻辑或
lambda arg,....:expr Lambda匿名函数

优先级:算数运算符 > 位运算符 > 身份运算符 > 成员运算符 > 逻辑运算符

逻辑与或和按位与或的区别:

  1、相似点:

    逻辑与和按位与的执行结果是一样的;逻辑或和按位或的执行结果也是一样的。

  2、不同点:

    逻辑与和逻辑或执行时,只需要判断第一个条件的真假就能得出整个条件的真假,不需要判断第二个条件;

    按位与和按位或执行时,需要判断第一个条件的真假就能得出整个条件的真假,但是还需要对后面的条件进行判断,并且最后把这些条件的结果结合起来才返回 整个条件的真假。

  由此看来,逻辑与或的执行效率比按位与或的效率高。

运算符 Operator 及优先级的更多相关文章

  1. Mysql 中Left/Right join on后面and和where条件查询的差异-Mysql SQL运算符是有优先级

    一.Mysql中Left/Right join on后面and和where条件查询的差异 1.建两张测试表,一张商户定义表.一张商户操作状态明细表 1)商户定义表 CREATE TABLE hope. ...

  2. Swift学习(一):自定义运算符 operator

    自定义运算符仅能包含这些字符: / = - + * % < >!& | ^.~ 运算符位置: 前置运算符 prefix 中间运算符 infix 后置运算符 postfix 运算符其 ...

  3. S运算符&&和|| 及其优先级

    a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回aa || b : 将a, b转换为Boolean类型, 再执行逻辑或, tru ...

  4. 重载运算符-operator

    先看段代码: struct node { friend bool operator< (node n1, node n2){ // 优先取最小的,它与下面的 // 是等价的 return n1. ...

  5. input、raw_input区别,运算符,运算优先级,多变赋值方式

    目录 1. Python2中的input.raw_input赋值方式和Python3中的input赋值方式的差别 2. 运算符 3. python运算符优先级 4. 格式化输出 5. 链式赋值 6. ...

  6. [转] JS运算符 &&和|| 及其优先级

    第一.&& (逻辑与)运算,看一个简单的例子: var a = 1 && 2 && 3; var b = 0 && 1 &&am ...

  7. C语言运算符表(优先级)

    http://www.is.pku.edu.cn/~qzy/c/operator.htm

  8. 操作符(运算符)重载 或者叫 二元运算符 operator + 与 转换式操作符 implicit operator explicit operator

    static void Main(string[] args) { rational r1 = new rational(5); rational r2 = new rational(51); rat ...

  9. 9.JavaSE之运算符

    Java语言支持如下运算符operator:优先级() 算数运算符 :+ ,- ,* ,/ ,% ,++ ,-- 赋值运算符 := 关系运算符 :> ,< ,>= ,<= ,= ...

随机推荐

  1. python splash scrapy

    python splash scrapy 1.      前言 slpash是一个渲染引擎,它有自己的api,可以直接访问splash服务的http接口,但也有对应的包python-splash方便调 ...

  2. Golang核心编程

    源码地址: https://github.com/mikeygithub/GoCode 第1章 1Golang 的学习方向 Go 语言,我们可以简单的写成 Golang 1.2Golang 的应用领域 ...

  3. Python 爬取 热词并进行分类数据分析-[解释修复+热词引用]

    日期:2020.02.02 博客期:141 星期日 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...

  4. 1.ORM介绍,基本配置及通过ORM框架创建表

    1.介绍 ORM全拼Object-Relation Mapping(对象-关系映射) 作用:主要实现模型对象到关系数据库数据的映射 通过ORM框架作为一个中间者或者是一个桥梁,开发者通过定义模型类,属 ...

  5. C++赋值操作符不能继承

    在网上搜索相关资料时,看到有人说,赋值操作符可以被继承,并且给出了一个例子. 一时间,也没想出那个例子错在哪里. 例子代码如下: #include <iostream> using nam ...

  6. Hibernate笔记一

    背景 jdbc的优缺点 A:直接操作底层,提供了简单,便捷的访问数据库方法,跨平台比较强,灵活,可以写很多赋值的SQL语句:是最底层的数据库操作,所以效率比较高,Sql语句可以自己选择写,采用效率最高 ...

  7. 吴裕雄--天生自然ORACLE数据库学习笔记:PL/SQL编程

    set serveroutput on declare a ; b ; c number; begin c:=(a+b)/(a-b); dbms_output.put_line(c); excepti ...

  8. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 显示代码:变量赋值

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. windows下 DEV-C++无法连接到pthread.h的解决办法

    参考的这个博文,原博文有图片:http://lslin.iteye.com/blog/776325 (我只是为了方便写.copy一遍) dev-C++编写C/C++程序时,非常方便轻巧,但是今天学习多 ...

  10. 关于hrf图的做法

    要拿matlab 的spm 包功能做 Model specification ,review and estimation specify1st level 第二张图是在建模以后,通过spm中的res ...