Python3基础(三) 运算符
Python中的运算符大部分与C语言的类似,但也有很多不同的地方。这里就大概地罗列一下Python 3中的运算符。
一、算术运算符
运算符 | 描述 | 示例 |
---|---|---|
x + y | 加 | 10 + 20 = 30 |
x - y | 减 | 10 - 5 = 5 |
x * y | 乘 | 3 * 6 = 18 |
x / y | 除-返回浮点数 | 2 / 4 = 0.5 |
x // y | 取整除 - 返回商的整数部分 | 2 // 4 = 0 |
x % y | 取余 | 15 % 4 = 3 |
-x | 异号 | -(-5) = 5 |
+x | 不变号 | +5 = 5 |
abs(x) | 取绝对值 | abs(-0.4) = 0.4 |
int(x) | x转换为整数 | int(5.9) = 5 |
float(x) | x转换为浮点数 | float(5) = 5.0 |
complex(re, im) | 返回复数 - re为实数部分 im为虚数部分 | complex(4,3) = 4+3j |
c.conjugate() | 返回c的共轭复数 | c=4+3j; c.conjugate() = 4-3j |
divmod(x, y) | 返回一个数值对(x//y, x%y) | divmod(8, 3) = (2, 2) |
pow(x, y) | x的y次幂 | pow(2, 5) = 32 |
x ** y | x的y次幂 | 2 ** 5 = 32 |
Note:
- 双斜杠 // 除法总是向下取整。
- 从符点数到整数的转换可能会舍入也可能截断,建议使用math.floor()和math.ceil()明确定义的转换。
- Python定义
pow(0, 0)
和0 ** 0
等于1。
二、比较运算符
运算符 | 描述 |
---|---|
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
== | 等于 |
!= | 不等于 |
is | 判断两个标识符是不是引用自一个对象 |
is not | 判断两个标识符是不是引用自不同对象 |
Note:
- 八个比较运算符优先级相同。
- Python允许
x < y <= z
这样的链式比较,它相当于x < y and y <= z
。 - 复数不能进行大小比较,只能比较是否相等。
三、逻辑运算符
运算符 | 描述 |
---|---|
x or y | if x is false, then y, else x |
x and y | if x is false, then x, else y |
not x | if x is false, then True, else False |
Note:
- or是个短路运算符,它只有在第一个运算数为False时才会计算第二个运算数的值。
- and也是个短路运算符,它只有在第一个运算数为True时才会计算第二个运算数的值。
- not的优先级比其他类型的运算符低,所以not a == b相当于not (a == b),而 a == not b是错误的。
四、位运算符
运算符 | 描述 |
---|---|
x | y | 按位或运算符 |
x & y | 按位与运算符 |
x ^ y | 按位异或运算符 |
x << n | 左移动运算符 |
x >> n | 右移动运算符 |
~x | 按位取反运算符 |
五、赋值运算符
复合赋值运算符与算术运算符是一一对应的:
运算符 | 描述 |
---|---|
= | 简单的赋值运算符 |
+= | 加法赋值运算符 |
-= | 减法赋值运算符 |
*= | 乘法赋值运算符 |
/= | 除法赋值运算符 |
%= | 取模赋值运算符 |
**= | 幂赋值运算符 |
//= | 取整除法运算符 |
六、成员运算符
Python提供了成员运算符,测试一个元素是否在一个序列(Sequence)中。
运算符 | 描述 |
---|---|
in | 如果在指定的序列中找到值返回True,否则返回False。 |
not in | 如果在指定的序列中没有找到值返回True,否则返回False。 |
Python3基础(三) 运算符的更多相关文章
- C#基础(三)--运算符及条件控制语句
上一章我们了解了C#的一些数据基本类型.如何定义使用变量及类型之间的相互转换.可能大家会发现程序只能按照我们的要求从上向下这样顺序一条一条的执行. 那么程序能按照我们的要求,当某个条件成立的时候才执行 ...
- python3 基础三
一.if语句 if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3 ...
- JavaScript学习 - 基础(三) - 运算符
js运算符 1.算数运算符 包括 加(+) .减-() .乘(*).除(/).余数(%) 减号 还可以表示为 负号 例如: -1,-3 加号 还可以用于字符串拼接 例如: 'a' + 'b' = 'a ...
- Python3 - 基础(运算符)
Python3-运算符 举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算 ...
- Python3基础 三元运算符 简单示例
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Python3基础(十二) 学习总结·附PDF
Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...
- C#_02.13_基础三_.NET类基础
C#_02.13_基础三_.NET类基础 一.类概述: 类是一个能存储数据和功能并执行代码的数据结构,包含数据成员和函数成员.(有什么和能够干什么) 运行中的程序是一组相互作用的对象的集合. 二.为类 ...
- Java基础-比较运算符Compare Operators
Java基础-比较运算符Compare Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.关系运算符 关系运算符包括: 1>.大于(>) 2> ...
- Java基础-位运算符Bitwise Operators
Java基础-位运算符Bitwise Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位运算特点 位运算符分为按位与(&),按位或(|),按位异或(^ ...
- python002 Python3 基础语法
python002 Python3 基础语法 编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -* ...
随机推荐
- LN : leetcode 207 Course Schedule
lc 207 Course Schedule 207 Course Schedule There are a total of n courses you have to take, labeled ...
- Debug技巧(1)
首先声明,以下有些是自己遇到的问题自己解决了,其它里面包括了网上看到的Debug经验和书里看到的经验,时间问题就不一一说明,如有侵权,私信我进行删除,我会道歉.我写这个的本意是记录我学习中遇到的问题, ...
- 深度优先搜索DFS和广度优先搜索BFS简单解析
转自:https://www.cnblogs.com/FZfangzheng/p/8529132.html 深度优先搜索DFS和广度优先搜索BFS简单解析 与树的遍历类似,图的遍历要求从某一点出发,每 ...
- Android Bitmap转换WebP图片导致损坏的分析及解决方案
背景 作为移动领域所力推的图片格式,WebP图片在商业领域证明了其应有的价值.基于其他格式的横向对比,其在压缩性能表现,及还原度极为优秀,节省大量的带宽开销.基于可观的效益比,团队早前已开始磋商将当前 ...
- 锐动SDK应用于在线教育方面的解决方案
在线教育 PC端.Android端的屏幕.摄像头录制和直播功能,教师不再拘泥于专业的视频教室进行直播授课. 强大的视频编辑功能,便于课件的制作和不断修改升级. 在线课堂实现了教学视频内容在PC.PAD ...
- SpringBoot(1.5.6.RELEASE)源码解析
转自 https://www.cnblogs.com/dylan-java/p/7450914.html 启动SpringBoot,需要在入口函数所在的类上添加@SpringBootApplicati ...
- RocketMQ学习笔记(16)----RocketMQ搭建双主双从(异步复制)集群
1. 修改RocketMQ默认启动端口 由于只有两台机器,部署双主双从需要四个节点,所以只能修改rocketmq的默认启动端口,从官网下载rocketmq的source文件,解压后使用idea打开,全 ...
- eclipse配置Tomcat服务器server locations的方法
最近放弃了使用Myeclipse,转而使用eclipse作为开发工具,确实Myeclipse集成了太多东西,使得开发人员的配置越来越少,这不是个好事,使用eclipse后,有些地方就得自己去配置,比如 ...
- 关于dijkstra的小根堆优化
YY引言 在NOI2018D1T1中出现了一些很震惊的情况,D1T1可以用最短路解决,但是大部分人都在用熟知的SPFA求解最短路.而SPFA的最坏复杂度能够被卡到$O(VE)$.就是边的数量乘以点的数 ...
- uWSGI+nginx+django+virtualenv+supervisor部署项目
一.前言 在部署项目前,你已有一个能够在你本机测试过,能正常启动的Django项目(毕竟本文主要讲解部署Django项目),以及掌握了Linux系统的一些基本命令. 相关链接: Centos7安装py ...