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. 6491: Daydream

    题目描述 You are given a string S consisting of lowercase English letters. Another string T is initially ...

  2. Linux内核中Makefile、Kconfig和.config的关系(转)

    我们在编译Linux内核时,往往在Linux内核的顶层目录会执行一些命令,这里我以RK3288举例,比如:make firefly-rk3288-linux_defconfig.make menuco ...

  3. excel计算时间差值

    excel计算时间差值 2018/10/1 10:59:00 减去 2018/9/21 1:05:13 获取 多少天. 如1.2天.这种. ==

  4. LOJ.6068.[2017山东一轮集训Day4]棋盘(费用流zkw)

    题目链接 考虑两个\(\#\)之间产生的花费是怎样的.设这之间放了\(k\)个棋子,花费是\(\frac{k(k-1)}{2}\). 在\((r,c)\)处放棋子,行和列会同时产生花费,且花费和该行该 ...

  5. BZOJ.3944.Sum(Min_25筛)

    BZOJ 洛谷 不得不再次吐槽洛谷数据好水(连\(n=0,2^{31}-1\)都没有). \(Description\) 给定\(n\),分别求\[\sum_{i=1}^n\varphi(i),\qu ...

  6. BZOJ4249 : Walls 防壁

    首先可以将攻击位置整理成折线,答案不变. 对于一个长度为$k$的询问,若折线不超过两段,那么显然可以暴力贪心求解. 否则考虑折线中最短的一段$x\rightarrow y$,若其长度$\leq k$: ...

  7. Exception引起的性能问题

    先show一下两段代码,两段代码都能比较好的实现业务逻辑,但是在高并发下,如果传入的参数为空,那么两段代码的性能表现完全不一样. private static string Get(string fi ...

  8. linux上下载安装mysql,并使用

    一:官网找mysql的安装包 可参考https://blog.csdn.net/a18852867035/article/details/81610611, 我是在https://dev.mysql. ...

  9. input中autocomplete属性

    autocomplete="off":表示刷新页面时,input中的value值清空 <input type="text" id="q" ...

  10. Java爬取校内论坛新帖

    Java爬取校内论坛新帖 为了保持消息灵通,博主没事会上上校内论坛看看新帖,作为爬虫爱好者,博主萌生了写个爬虫自动下载的想法. 嗯,这次就选Java. 第三方库准备 Jsoup Jsoup是一款比较好 ...