Python中的运算符

枫铃3年前 (2021-09-30)Python245

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

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

in,not in的使用

'''
Python大型免费公开课,适合初学者入门
加QQ群:579817333 获取学习资料及必备软件。
'''
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)。

例如:

'''
Python大型免费公开课,适合初学者入门
加QQ群:579817333 获取学习资料及必备软件。
'''
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同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,...

爬虫基本原理

爬虫基本原理 一、爬虫是什么? 百度百科和维基百科对网络爬虫的定义:简单来说爬虫就是抓取目标网站内容的工具,一般是根据定义的行...

Django 函数和方法的区别

函数和方法的区别 1、函数要手动传self,方法不用传 2、如果是一个函数,用类名去调用,如果是一个方法...

Django 知识补漏单例模式

单例模式:(说白了就是)创建一个类的实例。在 Python 中,我们可以用多种方法来实现单例模式&#x...

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

Python mysql 索引原理与慢查询优化

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。