导语:

1.什么是运算符
2.什么是表达式
3.python运算符分类
4.python运算符优先级

什么是运算符:

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。

什么是表达式:

 表达式,是由数字、运算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。

python运算符分类:

算术运算符
比较(关系)运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符

算术运算符:

以下假设变量a为10,变量b为20:
| 运算符 | 描述 | 实例 |
+: 加 - 两个对象相加。 比如: a + b 输出结果 30
-: 减 - 得到负数或是一个数减去另一个数。 比如:  a - b 输出结果 -10
*: 乘 - 两个数相乘或是返回一个被重复若干次的字符串。 比如:  a * b 输出结果 200 |
/: 除 - x除以y。 比如:  b / a 输出结果 2
%:取模 - 返回除法的余数。  比如:b % a 输出结果 0
**: 幂 - 返回x的y次幂。比如:a**b 为10的20次方, 输出结果 100000000000000000000
//:取整除 - 返回商的整数部分   9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
注意:
>>> 5/2    //没有小数位的时候除法运算得到的是整数
2
>>> 5.0/2
2.5

比较(关系)运算符:

以下假设变量a为10,变量b为20:
| 运算符 | 描述 | 实例 |
| == |  等于 - 比较对象是否相等 |  (a == b) 返回 False。  |
| != |  不等于 - 比较两个对象是否不相等 |  (a != b) 返回 true.  |
| <> | 不等于 -  比较两个对象是否不相等 |  (a <> b) 返回 true。这个运算符类似 != 。 |
| > |  大于 - 返回x是否大于y |  (a > b) 返回 False。 |
| < |  小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 |  (a < b) 返回 true。  |
| >= |  大于等于- 返回x是否大于等于y。 |  (a >= b) 返回 False。 |
| <= |  小于等于 -返回x是否小于等于y。 |  (a <= b) 返回 true。  |

赋值运算符:

以下假设变量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 |

逻辑运算符:

以下假设变量 a 为 10, b为 20:
| 运算符 | 逻辑表达式 | 描述 | 实例 |
| and | x and y |  布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 |  (a and b) 返回 20。 |
| or | x or y | 布尔"或"- 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 |  (a or b) 返回 10。 |
| not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 |  not(a and b) 返回 False  |>>> 1>2 and 2<3
False
>>> 3>2 and 2<3
True

位运算符:

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
下表中变量 a 为 60,b 为 13。
| 运算符 | 描述 | 实例 |
| & | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 |  (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | |  按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 |  (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
| ^ | 按位异或运算符:当两对应的二进位相异时,结果为1  |  (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
| ~ |  按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1  |  (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
| << | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,低位补0。 |  a << 2 输出结果 240 ,二进制解释: 1111 0000 |
| >> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数,高位补0,低位舍弃  |  a >> 2 输出结果 15 ,二进制解释: 0000 1111 |注:上图中计算结果有问题,做好的图没改,按实际结果来  

成员运算符:

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
| 运算符 | 描述 | 实例 |
| in | 如果在指定的序列中找到值返回 True,否则返回 False。 |  x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
| not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |

身份运算符:

身份运算符用于比较两个对象的存储单元
| 运算符 | 描述 | 实例 |
| is | is是判断两个标识符是不是引用自一个对象 |  x is y, 如果 id(x)  等于 id(y) , is 返回结果 1 |
| is not | is not是判断两个标识符是不是引用自不同对象 |  x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1  |

运算符优先级:

以下表格列出了从最高到最低优先级的所有运算符:
| 运算符 | 描述 |
| ** | 指数 (最高优先级) |
| ~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
| * / % // | 乘,除,取模和取整除 |
| + - | 加法减法 |
| >> << | 右移,左移运算符 |
| & | 位 'AND' |
| ^ | | 位运算符 |
| <= < > >= | 比较运算符 |
| <> == != | 等于运算符 |
| = %= /= //= -= += *= **= | 赋值运算符 |
| is is not | 身份运算符 |
| in not in | 成员运算符 |
| not or and | 逻辑运算符 |除此之外还有一个运算符优先级最低:lambada     

版权声明:原创作品,如需转载,请注明出处。否则将追究法律责任
本文转自 CrazyWing 51CTO博客,原文链接:http://blog.51cto.com/fklinux/2047042

CrazyWing:Python自动化运维开发实战 五、Python运算符与表达式相关推荐

  1. 云计算Python自动化运维开发实战 三、python文件类型

    为什么80%的码农都做不了架构师?>>>    云计算Python自动化运维开发实战 三.python文件类型 导语: python常用的有3种文件类型 1. 源代码     py ...

  2. 云计算开发教程:Python自动化运维开发实战流程控制

    今天这篇文章是给大家分享一些云计算开发教程,今天讲解的是:Python自动化运维开发实战流程控制. Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. P ...

  3. 云计算学习教程,Python自动化运维开发实战

    都忘记是什么时候知道python的了,我是搞linux运维的,早先只是知道搞运维必须会shell,要做一些运维自动化的工作,比如实现一些定时备份数据啊.批量执行某个操作啊.写写监控脚本什么的. 后来发 ...

  4. CrazyWing:Python自动化运维开发实战 六、流程控制

    Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. Python程序语言指定任何非0和非空(null)值为true,0 或者 nu ...

  5. Python自动化运维开发实战

    前言 云计算开发技术Python方面的知识少不了,Python编程博大精深,知识点众多,需要先整体上了解python的一些基本用法之后再去对每一个知识点细细研究,这样学习的速度会快很多.所以下面就先看 ...

  6. CrazyWing:Python自动化运维开发实战 八、Python数据类型之字符串

    导语: 字符串是Python中最常用的数据类型,它是编程语言中表示文本的数据类型. 使用引号('或")来创建字符串. 创建字符串 只要为变量分配一个值即可. 例如: var1 = 'Hell ...

  7. CrazyWing:Python自动化运维开发实战 四、Python变量

    导语: 1.什么是变量 2.变量名称的命名 3.变量赋值 4.变量存储数据的方式 5.引用计数 什么是变量: python学习过程中会用到许多数据,那为了方便操作,需要把这些数据分别用一个简单的名字代 ...

  8. CrazyWing:Python自动化运维开发实战 九、Python数据类型之列表

    导语 序列: 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推,Python已经内置确定序列的长度以及确定最大和最小 ...

  9. 云计算开发技术,Python自动化运维开发实战三部分

    导语: python常用的有3种文件类型 源代码 py 字节代码 pyc 优化代码 pyo 源代码: python源代码的文件以"py"为扩展名,由python程序解释,不需要编译 ...

最新文章

  1. MSN 无法登录 错误代码 8007007e
  2. 双程动态规划 nyoj61
  3. 用WMI获取远程机器操作系统的详细信息
  4. 如何设置Linux操作系统shell命令的默认语言
  5. 栈与队列在SGI STL的底层实现
  6. Spring Boot swagger之前后端分离
  7. Simulink之多重逆变电路
  8. python实现链表的删除_B站上的免费Python课程
  9. html类名定义规则_好程序员分享Java语言中的标识符规则
  10. 2018-07-25 异想天开
  11. 多项式辗转相除法求最大公约数_点灯游戏、方格填数与 Chebyshev 多项式(续)...
  12. MySQL-第十四篇事务管理
  13. 简单实用的易语言短信接口demo
  14. 会计新规给保险业带来的影响
  15. ENVI监督分类错误:分离度为0.00000解决办法
  16. 龙芯2F装debian5
  17. 计算机函数求各科及格率怎么求,合格率怎么算(计算及格率的方法)
  18. USYD悉尼大学INFO1110 详细作业解析Week3 all quizzes
  19. finalshell链接不上虚拟机提示一直登录或链接不上怎么办
  20. Linux xorg 调整分辨率,编写xorg.conf解决Ubuntu分辨率不可调的问题

热门文章

  1. GITHUB使用简介
  2. 启用DHCP中继代理程序 实现跨子网服务
  3. JavaScript Module Pattern
  4. window2003 server服务器配置标准
  5. 开发运维日常坑 总结 51-100
  6. 可编程渲染管线与着色器语言
  7. python常用函数年初大总结
  8. ASP.NET中调用Excel的问题
  9. OC 实现的几个排序算法
  10. 入行AI,从何做起—光环飞马网直播课回顾