2-Python3从入门到实战—基础之运算符
Python从入门到实战系列——目录
Python语言支持以下类型的运算符:
- 算术运算符
 - 比较(关系)运算符
 - 赋值运算符
 - 逻辑运算符
 - 位运算符
 - 成员运算符
 - 身份运算符
 - 运算符优先级
 
算术运算符
- Python中算术运算符包含:+,-,*,/,%,**,//
 
a = 10
b = 5
a + b  返回结果 15
a - 5  返回结果 5
a * b  返回结果 50
a / b  返回结果 2.0			# / 总是返回浮点数
a % b  返回结果 0			# % 表示a除以b取余数
a ** b 返回结果 100000		# ** 表示 a 的 b 次方
a // b 返回结果 2			# // 表示 a 除以 b 的商的整数部分
10.0 // 5.0 返回结果 2
比较运算符
- Python中比较运算符包含:>,<,>=,<=,==,!=
 
a = 10
b = 5
( a > b )   返回结果    True
( a < b )   返回结果    False
( a >= b )  返回结果 	True
( a <= b )  返回结果 	False
( a == b )  返回结果 	False
( a != b )  返回结果    True
赋值运算符
- Python中赋值运算符包含:=,+=,-=,*=,/=,%=,**=,//=
 
a = 10
b = 20
c = a + b		# 将 a + b 的值赋值给c
c += a			# 相当于 c = c + a
c -= a			# 相当于 c = c - a
c *= a			# 相当于 c = c * a
c /= a			# 相当于 c = c / a
c %= a			# 相当于 c = c % a
c **= a			# 相当于 c = c ** a
c //= a			# 相当于 c = c // a
逻辑运算符
- Python中逻辑运算符包含:and,or,not
 - and: 布尔"与"; x and y 表示如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值;
 
a = 10
b = 20
print( a and b )		# 输出:20
- or: 布尔"或"; x or y 表示 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值;
 
a = 10
b = 20
print( a or b )			# 输出:10
- not: 布尔"非"; not x 表示如果 x 为 True,返回 False 。如果 x 为 False,它返回 True;
 
a = 10
b = 20
print(not(a==10))		# 输出:False
print(not(b==10))		# 输出:True
位运算符
- Python中位运算符包含:&,|,^,~,<<,>>;按位运算符是把数字看作二进制来进行计算的;
 - & (按位与运算符):参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0;
 
a = 0b0011 1100
b = 0b0000 1101
a & b = 0000 1100
- | (按位或运算符):只要对应的二个二进位有一个为1时,结果位就为1;
 
a = 0b0011 1100
b = 0b0000 1101
a | b = 0011 1101
- ^ (按位异或运算符):当两对应的二进位相异时,结果为1;
 
a = 0b0011 1100
b = 0b0000 1101
a ^ b = 0011 0001
- ~ (按位取反运算符):对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1;
 
a = 0b0011 1100
~a = 1100 0011
- << (左移动运算符):运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0;
 
a = 0b0011 1100
a << 2	# a 左移两位,即结果:1111 0000
- “>>” (右移动运算符):把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数;
 
a = 0b0011 1100
a >> 2	# a 右移两位,即结果:0000 1111
成员运算符
- Python中成员运算符包含:in,not in;
 - in:如果在指定的序列中找到值返回 True,否则返回 False;
 
a = 10
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
    print ("变量 a 在列表中 list 中")
else:
    print("变量 a 不在列表 list 中")
- not in:如果在指定的序列中没有找到值返回 True,否则返回 False;
 
a = 10
list = [1, 2, 3, 4, 5 ];
if ( a not in list ):
    print ("变量 a 不在列表中 list 中")
else:
    print("变量 a 在列表 list 中")
身份运算符
- Python中身份运算符包含:is,is not;身份运算符用于比较两个对象的存储单元
 - is 判断两个标识符是不是引用自一个对象,x is y, 类似 id(x) == id(y);
 
a = 20
b = 20
if ( a is b ):
    print (" a 和 b 有相同的标识")
else:
    print (" a 和 b 没有相同的标识")
if ( id(a) == id(b) ):
    print (" a 和 b 有相同的标识")
else:
    print (" a 和 b 没有相同的标识")
# 输出结果均为: a 和 b 有相同的标识
# 修改 b 的值
b = 30
if ( a is b ):
    print (" a 和 b 有相同的标识")
else:
    print (" a 和 b 没有相同的标识")
# 输出结果: a 和 b 没有相同的标识
- is not 判断两个标识符是不是引用自不同对象,x is not y , 类似 id(a) != id(b)
 
a = 20
b = 30
if ( a is not b ):
    print (" a 和 b 没有相同的标识")
else:
    print (" a 和 b 有相同的标识")
if ( id(a) != id(b) ):
    print (" a 和 b 没有相同的标识")
else:
    print (" a 和 b 有相同的标识")
# 输出结果均为: a 和 b 没有相同的标识
# 修改 b 的值
b = 20
if ( a is not b ):
    print (" a 和 b 没有相同的标识")
else:
    print (" a 和 b 有相同的标识")
# 输出结果: a 和 b 有相同的标识
运算符优先级
- 运算符优先级从高到底如下:
 
**          指数 (最高优先级)
~ + -       按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //    乘,除,取模和取整除
+ -	        加法减法
>> <<       右移,左移运算符
&           位 'AND'
^ |         位运算符
<= < > >=   比较运算符
<> == !=    等于运算符
= %= /= //= -= += *= **=    赋值运算符
is is not                   身份运算符
in not in                   成员运算符
not or and                  逻辑运算符
												
											2-Python3从入门到实战—基础之运算符的更多相关文章
- 5-Python3从入门到实战—基础之数据类型(列表-List)
		
Python从入门到实战系列--目录 列表定义 list:列表(list)是Python内置的一种数据类型,list是一种有序的集合,索引从0开始,可以进行截取.组合等: //创建列表 list1 = ...
 - 3-Python3从入门到实战—基础之数据类型(数字-Number)
		
Python从入门到实战系列--目录 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionar ...
 - 11-Python3从入门到实战—基础之生成器和迭代器
		
Python从入门到实战系列--目录 切片 Python提供切片(Slice)操作符用来获取列表.元组等数据中的部分元素:如,读取列表 list[m:n]:表示获取m-n区间的元素 list[m:n: ...
 - 10-Python3从入门到实战—基础之函数
		
Python从入门到实战系列--目录 函数的定义 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数的语法 def 函数名(参数列表): 函数体 函数代码块以 def 关键词开头 ...
 - 9-Python3从入门到实战—基础之条件控制语句
		
Python从入门到实战系列--目录 条件判断 if 条件判断 if 语句语法 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> ...
 - 8-Python3从入门到实战—基础之数据类型(集合-Sets)
		
Python从入门到实战系列--目录 集合的定义 集合(set)和字典类似,也是一组key的集合,但不存储value:由于key不能重复,所以,在set中,没有重复的key. 创建一个set,需要提供 ...
 - 7-Python3从入门到实战—基础之数据类型(字典-Dictionary)
		
Python从入门到实战系列--目录 字典的定义 字典是另一种可变容器模型,且可存储任意类型对象:使用键-值(key-value)存储,具有极快的查找速度: 字典的每个键值(key=>value ...
 - 6-Python3从入门到实战—基础之数据类型(元组-Tuple)
		
Python从入门到实战系列--目录 元组的定义 定义元组只需要在括号中添加元素,并使用逗号隔开即可 tup = ('Python','Java','C++','Kotlin') 元组与列表的区别 P ...
 - 4-Python3从入门到实战—基础之数据类型(字符串-String)
		
Python从入门到实战系列--目录 字符串表示 在 Python 3版本中,字符串是以 Unicode 编码的:Python 中使用 ' '或者" "表示字符串 msg = 'H ...
 
随机推荐
- BZOJ3155:Preprefix sum(线段树)
			
Description Input 第一行给出两个整数N,M.分别表示序列长度和操作个数 接下来一行有N个数,即给定的序列a1,a2,....an 接下来M行,每行对应一个操作,格式见题目描述 Out ...
 - 【转】Tomcat连接器:Coyote框架
			
不论Tomcat的容器设计得如何精妙,本质上Tomcat就是个http服务器,需要从socket中获得HTTP数据流:另一方面,容器只能处理封装好的org.apache.coyote.Request ...
 - Thinkphp5.0分页和跳页
			
后台查询商品或者会员量需要用到分页展示列表,当页数比较多的时候为了体高用户体验度,需要添加一个跳页也就是手动输入页码数进行快速跳转指定页面.由于手动编写分页比较麻烦,又想使用TP5自带的分页,但是TP ...
 - jqgrid  批量启动所有行为可编辑状态
			
有时,为操作方便,需要将jqgrid表格设置为一直处于编辑状态,用户只需要在对应的编辑区填写自己信息,不再频繁的去触发行编辑和保存. 参考代码如下: //$gridCase为传入jqgrid对象 fu ...
 - ASP.NET Core中,UseDeveloperExceptionPage扩展方法会吃掉异常
			
在ASP.NET Core中Startup类的Configure方法中,有一个扩展方法叫UseDeveloperExceptionPage,如下所示: // This method gets call ...
 - mock使用中出现的错误
			
当出现错误Class mocking requires to have objenesis library in the classpath时,缺少了objenesis库文件...下载objenesi ...
 - 20155202张旭  Exp5 MSF基础应用
			
20155202张旭 Exp5 MSF基础应用 实践内容 本次实验我使用的攻击方式: 1.针对office软件的主动攻击:--MS10-087: 2.MS10-002漏洞对浏览器攻击 3.针对客户端的 ...
 - iterms 快捷键
			
标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:comma ...
 - 【ORACLE】数据库空闲1分钟自动断开
			
-- 开启参数,创建概要文件 SQL> show parameter resource_limit; NAME TYPE ...
 - spring  boot  实现文件下载
			
html 代码 js部分 window.location.href= this.Baseurl+'/plan/down?file='+filename; spring boot 后台代码@GetMap ...