【Python】 解析Python中的运算符

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

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

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 都可以用来比较两个对象,但是==比较是对象的值,is比较的是对象的地址。例如:

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个,例如:

a = 200
b = 200
print(a == b)#True
print(a is b)#True

原文地址:https://www.cnblogs.com/HDK2016/p/10430294.html

时间: 2024-10-12 07:49:45

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

Python解析CSV中的多维字典

CSV文件结构如下,其中字段A为唯一 代码如下,Python27 1 with open(file_obj+'TEST.CSV','r') as f: 2 #转为字典 3 Reader=csv.DictReader(f) 4 #转为列表,列表中多维字典 5 csvlist1 = list(Reader) 6 #将A当做为索引 7 csvlist2 = [row['A'] for row in csvlist1] 8 #根据A的值找到下标值 9 n = csvlist2.index(A VALUE

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

https://www.cnblogs.com/asmblog/archive/2013/05/07/3063809.html https://www.zhihu.com/question/21471960 http://blog.csdn.net/hanchaobiao/article/details/73150405 https://www.cnblogs.com/hqutcy/p/7248506.html https://www.cnblogs.com/greenteemo/p/67454

【Python】Python模块

Python模块 可以把python代码存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块. 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py 模块可以被别的程序引入,以使用该模块中的函数等功能.这也是使用python标准库的方法.下面是一个使用Python标准库中模块的例子 import sys print('命令行参数如下:') for i in sys.argv: print(i) print('/n/nThe PYTHONPATH is', sys.pat

Python中的运算符

如果工作中没有计算器,可以直接使用Python作为Calculator来使用.下面介绍Python中的运算符. + 加运算符,如果'+'两边都是数字,进行加法运算.如果两边都是字符串类型,进行连接操作.如果一边是数字,一边是字符串,则会报错. TypeError: unsupported operand type(s) for +: 'int' and 'str'. -  减运算符,进行减法运算. * 乘运算法,进行乘法运算. /  除运算法,进行除法运算.Python中的除法运算符解决了  1

[Python]从url中解析域名的几种方法

Python从url中解析域名的几种方法 从url中找到域名,首先想到的是用正则,然后寻找相应的类库.用正则解析有很多不完备的地方,url中有域名,域名后缀一直在不断增加等.通过google查到几种方法,一种是用Python中自带的模块和正则相结合来解析域名,另一种是使第三方用写好的解析模块直接解析出域名. 要解析的url urls = ["http://meiwen.me/src/index.html", "http://1000chi.com/game/index.htm

python提取网页中json数据

用法示例: 相对于python解析XML来说,我还是比较喜欢json的格式返回,现在一般的api返回都会有json与XML格式的选择,json的解析起来个人觉得相对简单些 先看一个简单的豆瓣的图书查询的api返回 http://api.douban.com/v2/book/isbn/9787218087351 {"rating":{"max":10,"numRaters":79,"average":"9.1"

python解析json文件

概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象. JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集. Python2.6开始加入了JSON模块,无需另外下载,Python的Json模

Python进阶-继承中的MRO与super

摘要本文讲述Python继承关系中如何通过super()调用"父类"方法,super(Type, CurrentClass)返回CurrentClass的MRO中Type的下一个类的代理:以及如何设计Python类以便正确初始化. 1. 单继承中父类方法调用 在继承中,调用父类方法是很有必要的.调用父类方法的场景有很多: 比如必须调用父类的构造方法__init__才能正确初始化父类实例属性,使得子类实例对象能够继承到父类实例对象的实例属性: 再如需要重写父类方法时,有时候没有必要完全摒

python 解析docx文档的方法,以及提取插入的文本对象和图片

首先安装docx模块,通过pip install docx或者在docx官方链接上下载安装都可以 下面来看下如何解析docx文档:文档格式如下 有3个部分组成 1 正文:text文档 2 一个表格. 3一个插入的文件对象.4 一个图片 这4个部分是我们在docx文档中最常见的几种格式.解析代码如下 import docx def docx_try():     doc=docx.Document(r'E:\py_prj\test.docx')     for p in doc.paragraph