Python中的运算符相比较于传统的C/C++差别不是很大,主要是一些个别的运算符上的差别。包括:算术、比较、赋值、位、逻辑、成员、身份等。
它们的优先级:

符号 说明
** 指数(最高优先级)
~,+,- 按位翻转,一元加号和减号(最后两个的方法名为+@ 和 -@,例如:+5,-5 正5,负5)
*,/,%,// 乘,除,取模和取整数
+,- 二元加号和减号
>>,<< 右移,左移运算符
& 按位与
|,^ 按位或,按位异或
<=,>=,==,!= 比较运算符
=,%=,/=,//=,-=,+=,*=,**= 赋值运算符
is,is not 身份运算符
in,not in 成员运算符
not,or,and 逻辑运算符
a = 10
print(a ** 2)#
print(~a)#a的二进制源码00001010,取反后11110101,(是负数用补码,反码10001010,补码10001011)
print(+a)#
print(-a)#-5
print(a>>1)#
print(a<<1)#
print(a&2)#
print(a^1)#
print(a|3)#
print(a!=6)#True
print(a/3)#3.333
print(a//3)#
print(a%3)#
print(a>6 and a<12)#True
print(not a)#False

注意:Python中是没有一元递减符(--),一元递加符(++),逻辑运算符(&&,||)的。

in,not in的使用

a = 3
list = [1,2,3,4,5]
if (a in list):
print("a 在给定的list 列表中");
else if(a not in list):
print("a 不在给定的list列表中");
else:
print("不可能出现");

== 和 is 的区别

Python语言中的变量通常有3个属性,分别是name,id和value,其中的name为变量名,id与内存地址联合,value变量的值。

== 和 is 都可以用来比较两个对象,但是==比较是对象的值(value),is比较的是对象的地址(id)。例如:

a = [1,2,3]
b = [1,2,3]
print("a的id是",id(a));#a的id是140509619346760
print("b的id是",id(b));#b的id是140509748600456
print(a == b)#True
print(a is b)#False

其中==运算符比较的是变量的value,is运算符比较的是变量的id。a和b变量的值是一样的,所以a==b为True;a和b变量的id是不一样的,所以a is b 为False。

但是并不是所有情况都是这样,对于小整数,Python缓存了-5~256之间的所有整数,共262个,因此[-5,256]的每个整数只有唯一的一个地址。例如:

a = 200
b = 200 #变量b和变量a 具有相同的地址
print(a == b)#True
print(a is b)#True

【Python】 解析Python中的运算符的更多相关文章

  1. 用python解析pdf中的文本与表格【pdfplumber的安装与使用】

    我们接触到的很多文档资料都是以pdf格式存在的,比如:论文,技术文档,标准文件,书籍等.pdf格式使得用机器从中提取信息格外困难. 为了解决这个问题,我找到了几种解决方案,最后选择了python上的p ...

  2. Python解析CSV中的多维字典

    CSV文件结构如下,其中字段A为唯一 代码如下,Python27 with open(file_obj+'TEST.CSV','r') as f: #转为字典 Reader=csv.DictReade ...

  3. python解析excel中图片+提取图片

    解析表格是常用的技术.但是有些表各里面有图片怎么办?我想获得表格里面的图片,值得注意的是,图片没有位置信息,所以最好给图片进行编号,编号代表位置. 下面附上提取表格里面图片的代码.只要输出表格地址,和 ...

  4. python解析网页中js动态添加的内容

    https://www.cnblogs.com/asmblog/archive/2013/05/07/3063809.html https://www.zhihu.com/question/21471 ...

  5. 从json到python解析python,从bson到monogdb

    1.JSON JSON是JavaScript Object Notation的缩写,中文译为JavaScript对象表示法.用来作为数据交换的文本格式,作用类似于XML,而2001年Douglas C ...

  6. Python中的运算符

    说完常用的数据类型,再来说下运算符.运算符用于将各种类型的数据进行运算,让静态的数据跑起来. 编程语言中的运算大致分为以下几个大类: 算术运算, 用于加减乘除等数学运算 赋值运算,用于接收运算符或方法 ...

  7. 带你一文了解Python中的运算符

    运算符 目标 算数运算符 比较(关系)运算符 逻辑运算符 赋值运算符 运算符的优先级 数学符号表链接:https://zh.wikipedia.org/wiki/数学符号表 01. 算数运算符 是完成 ...

  8. 【转】Python中的运算符

    [转]Python中的运算符 说完常用的数据类型,再来说下运算符.运算符用于将各种类型的数据进行运算,让静态的数据跑起来. 编程语言中的运算大致分为以下几个大类: 算术运算, 用于加减乘除等数学运算 ...

  9. python中的运算符归类

    运算符 目标 算数运算符 比较(关系)运算符 逻辑运算符 赋值运算符 成员运算符 运算符的优先级 数学符号表链接:https://zh.wikipedia.org/wiki/数学符号表 01. 算数运 ...

随机推荐

  1. AspectJ 切面注解中五种通知注解:@Before、@After、@AfterRunning、@AfterThrowing、@Around

    https://blog.csdn.net/u010502101/article/details/78823056

  2. type__元组、字典、集合

  3. SQL的多种JOIN

  4. HDU.4694.Important Sisters(支配树)

    HDU \(Description\) 给定一张简单有向图,起点为\(n\).对每个点求其支配点的编号和. \(n\leq 50000\). \(Solution\) 支配树. 还是有点小懵逼. 不管 ...

  5. git解决Could not execute editor

    我是安装k-vim后出现了这个问题,可能是vim的某些插件引起的 配置git的编辑器可解决: git config --global core.editor "/usr/bin/vim&qu ...

  6. Linux下载软件

    .yum yum install tree yum install telnet 直接安装与更新 .查询软件是否装上 rpm -qa tree telnet .查询软件包的内容 rpm -ql tre ...

  7. 04 树莓派截图软件scrot的安装和使用

    2017-08-22 13:52:52 sudo apt-get install scrot 捕捉活动窗口(按下回车后,3秒之内点击要捕捉的窗口): scrot -d 3 -u 捕捉选定的区域(按下回 ...

  8. 关于git的使用记录总结

    1.解决Windows下git换行符报警问题 git config --global core.autocrlf false 2.撤销add的文件退出暂存区 git reset --mixed 3.g ...

  9. Centos-Mariadb(新版mysql)无法远程连接

    实际上之前有别人安装过了,对于这种交接的工作最难做,也就是沟通问题.我需要解决的问题是远程连接的问题,百度了一下后,被各路大佬绕的稀里糊涂,耗费了3 个小时 对于即将提交项目的我们来说,简直头疼.表示 ...

  10. Helm: Error: no available release name found

    如题,helm报这个错误 Helm: Error: no available release name found 错误的原因大概是因为 tiller没有正确的角色权限. 执行以下命令可解决这个问题. ...