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从入门到实战—基础之运算符的更多相关文章

  1. 5-Python3从入门到实战—基础之数据类型(列表-List)

    Python从入门到实战系列--目录 列表定义 list:列表(list)是Python内置的一种数据类型,list是一种有序的集合,索引从0开始,可以进行截取.组合等: //创建列表 list1 = ...

  2. 3-Python3从入门到实战—基础之数据类型(数字-Number)

    Python从入门到实战系列--目录 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionar ...

  3. 11-Python3从入门到实战—基础之生成器和迭代器

    Python从入门到实战系列--目录 切片 Python提供切片(Slice)操作符用来获取列表.元组等数据中的部分元素:如,读取列表 list[m:n]:表示获取m-n区间的元素 list[m:n: ...

  4. 10-Python3从入门到实战—基础之函数

    Python从入门到实战系列--目录 函数的定义 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数的语法 def 函数名(参数列表): 函数体 函数代码块以 def 关键词开头 ...

  5. 9-Python3从入门到实战—基础之条件控制语句

    Python从入门到实战系列--目录 条件判断 if 条件判断 if 语句语法 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> ...

  6. 8-Python3从入门到实战—基础之数据类型(集合-Sets)

    Python从入门到实战系列--目录 集合的定义 集合(set)和字典类似,也是一组key的集合,但不存储value:由于key不能重复,所以,在set中,没有重复的key. 创建一个set,需要提供 ...

  7. 7-Python3从入门到实战—基础之数据类型(字典-Dictionary)

    Python从入门到实战系列--目录 字典的定义 字典是另一种可变容器模型,且可存储任意类型对象:使用键-值(key-value)存储,具有极快的查找速度: 字典的每个键值(key=>value ...

  8. 6-Python3从入门到实战—基础之数据类型(元组-Tuple)

    Python从入门到实战系列--目录 元组的定义 定义元组只需要在括号中添加元素,并使用逗号隔开即可 tup = ('Python','Java','C++','Kotlin') 元组与列表的区别 P ...

  9. 4-Python3从入门到实战—基础之数据类型(字符串-String)

    Python从入门到实战系列--目录 字符串表示 在 Python 3版本中,字符串是以 Unicode 编码的:Python 中使用 ' '或者" "表示字符串 msg = 'H ...

随机推荐

  1. Spring 加载Controller逻辑的源码笔记

    org.springframework.web.servlet.handler.AbstractHandlerMethodMapping#initHandlerMethods 进行加载Controll ...

  2. [转]用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口

    原文链接: 1.用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口 2.Windows MFC 两个OpenGL窗口显示与线程RC问题

  3. JavaScript标准对象

    1.Date var now = new Date(); now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST) now.getFullYear(); // 2 ...

  4. 在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数,以及如何根据URL解析出匹配到MVC路由的Controller和Action

    目前项目中有个需求,需要在WebForm中去构造MVC的URL信息,这里写了一个帮助类可以在ASP.NET非MVC环境中(WebForm中)构造MVC的URL信息,主要就是借助当前Http上下文去构造 ...

  5. [HAOI2010]订货 BZOJ2424

    分析: 能看出来,这是一个费用流的题,建图很朴实,i连i+1,费用为存储费用,流量为仓库容量,之后S连i,费用为单价,流量为inf,之后i连T,流量为a[i],费用为0,之后裸上费用流... 附上代码 ...

  6. 2017-2018 Exp8 Web基础 20155214

    目录 Exp8 Web基础 实验内容 建站过程 SQL注入 知识点 Exp8 Web基础 实验内容 实验环境 主机 Kali 靶机 Kali 实验工具 后台语言 'PHP' 服务器 'Apache' ...

  7. 类加载, 静态变量初始化, String不可变, 泛型使用, 内部类

    1.java变量类型 java变量类型分:基本数据类型变量和Object数据类型变量,变量也是占用者内存的 例如: int i = 3; i这个变量保存的就是整形3, 占32位 Object a = ...

  8. Js读取XML文件为List结构

    习惯了C#的List集合,对于Javascript没有list 极为不舒服,在一个利用Js读取XML文件的Demo中,决定自己构建List对象,将数据存入List. 第一步,Js读取XML文件知识 X ...

  9. [Zlib]_[初级]_[使用zlib库压缩和解压STL string]

    场景 1.一般在使用文本json传输数据, 数据量特别大时,传输的过程就特别耗时, 因为带宽或者socket的缓存是有限制的, 数据量越大, 传输时间就越长. 网站一般使用gzip来压缩成二进制. 说 ...

  10. libgdx退出对话框

    package com.fxb.newtest; import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; i ...