Python中的运算符与表达式
你所编写的大多数语句(逻辑行)都包含了Python表达式(Expressions)。一个表达式的简单例子便是 2+3。表达式可以拆分成运算符(Operators)与操作数(Operands)。
运算符(Operators)是进行某些操作,并且可以用诸如 + 等符号或特殊关键词加以表达的功能。运算符需要一些数据来进行操作,这些数据就被称作操作数(Operands)。在上面的例子中 2 和 3 就是操作数。
运算符
接下来我们将简要了解各类Python运算符及它们的用法。
要记得你可以随时在解释器中对给出的案例里的表达式进行求值。例如要想测试表达式 2+3,则可以使用交互式 Python 解释器提示符:
>>> 2 + 3 5 >>> 3 * 5 15 >>>
下面是可用运算符的速览:
+(加)
两个对象相加。
3+5 则输出 8。'a' + 'b' 则输出 'ab'。
-(减)
从一个数中减去另一个数,如果第一个操作数不存在,则假定为零。
-5.2 将输出一个负数,50 - 24 输出 26。
*(乘)
给出两个数的乘积,或返回字符串重复指定次数后的结果。
2 3 输出 6。'la' 3 输出 'lalala'。
** (乘方)
返回 x 的 y 次方。
3 * 4 输出 81 (即 3 3 3 3)。
/ (除)
x 除以 y
13 / 3 输出 4.333333333333333。
// (整除)
x 除以 y 并对结果向下取整至最接近的整数。
13 // 3 输出 4。
-13 // 3 输出 -5。
% (取模)
返回除法运算后的余数。
13 % 3 输出 1。-25.5 % 2.25 输出 1.5。
<< (左移)
将数字的位向左移动指定的位数。(每个数字在内存中以二进制数表示,即 0 和1)
2 << 2 输出 8。 2 用二进制数表示为 10。
向左移 2 位会得到 1000 这一结果,表示十进制中的 8。
(右移)
将数字的位向右移动指定的位数。
11 >> 1 输出 5。
11 在二进制中表示为 1011,右移一位后输出 101 这一结果,表示十进制中的 5。
& (按位与)
对数字进行按位与操作。1
5 & 3 输出 1。
| (按位或)
对数字进行按位或操作。2
5 | 3 输出 7。
^(按位异或)
对数字进行按位异或操作。3
5 ^ 3 输出 6。
~ (按位取反)4
x 的按位取反结果为 -(x+1)。
~5 输出 -6。
< (小于)
返回 x 是否小于 y。所有的比较运算符返回的结果均为 True 或 False。请注意这些名称之中的大写字母。
5 < 3 输出 False,3 < 6 输出 True。
比较可以任意组成组成链接:3 < 5 < 7 返回 True。
(大于)
返回 x 是否大于 y。
5 > 3 返回 True。如果两个操作数均为数字,它们首先将会被转换至一种共同的类型。否则,它将总是返回 False。
<= (小于等于)
返回 x 是否小于或等于 y。
x = 3; y = 6; x<=y 返回 True。
= (大于等于)
返回 x 是否大于或等于 y。
x = 4; y = 3; x>=3 返回 True。
== (等于)
比较两个对象是否相等。
x = 2; y = 2; x == y 返回 True。
x = 'str'; y = 'stR'; x == y 返回 False。
x = 'str'; y = 'str'; x == y 返回 True。
!= (不等于)
比较两个对象是否不相等。
x = 2; y = 3; x != y 返回 True。
not (布尔“非”)5
如果 x 是 True,则返回 False。如果 x 是 False,则返回 True。
x = True; not x 返回 False。
and (布尔“与”)6
如果 x 是 False,则 x and y 返回 False,否则返回 y 的计算值。
当 x 是 False 时,x = False; y = True; x and y 将返回 False。在这一情境中,Python 将不会计算 y,因为它已经了解 and 表达式的左侧是 False,这意味着整个表达式都将是 False 而不会是别的值。这种情况被称作短路计算(Short-circuit Evaluation)。
or(布尔“或”)7
如果 x 是 True,则返回 True,否则它将返回 y 的计算值。
x = Ture; y = False; x or y 将返回 Ture。在这里短路计算同样适用。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
C# yield关键字解析
相信好多程序员都是因为unity的协程(Coroutine)认识yield这个关键字的,知道在unity的开发中诸如yield return null、yield return new WaitForSeconds(1.0f)的用法,其实yield是C#的关键字,unity的协程只是在c#的基础上做了一层封装,我们现在来看看yield这个关键字。说到yield就不得不说迭代器,迭代器模式是设计模式的一种,因为其运用的普遍性,很多语言都有内嵌的原生支持。在.NET中,迭代器模式是通过IEnumerator、IEnumerable两个接口和两个同名的泛型接口来封装的:public interface IEnumerator { object Current { get; } bool MoveNext(); void Reset(); }IEnumerator只定义了一个属性、两个函数,Current为迭代器的当前值,通过调用MoveNext函数让迭代器的前进一步,返回值表示该迭代器是否结束,Reset函数用于重置数据。 public interface IEnumerable { IEn...
- 下一篇
Python数值运算与赋值的快捷方式
一种比较常见的操作是对一个变量进行一项数学运算并将运算得出的结果返回给这个变量,因此对于这类运算通常有如下的快捷表达方式: a = 2 a = a * 3 同样也可写作: a = 2 a *= 3 要注意到 变量 = 变量 运算 表达式 会演变成 变量 运算 = 表达式。求值顺序8 如果你有一个诸如 2 + 3 * 4 的表达式,是优先完成加法还是优先完成乘法呢?我们的高中数学知识会告诉我们应该先完成乘法。这意味着乘法运算符的优先级要高于加法运算符。下面将给出 Python 中从最低优先级(最少绑定)到最高优先级(最多绑定)的优先级表。这意味着,在给定的表达式中,[Python]将优先计算表中位列于后的较高优先级的运算符与表达式。为了保持完整,下表是从[ Python教程参考手册 中引用而来。你最好使用圆括号操作符来对运算符与操作数进行分组,以更加明确地指定优先级。这也能使得程序更加可读。你可以阅读改变运算顺序来了解更多的细节。lambda:Lambda 表达式if - else :条件表达式or:布尔“或”and:布尔“与”not x:布尔“非”in, not in, is, is ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS关闭SELinux安全模块
- CentOS8安装Docker,最新的服务器搭配容器使用
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,7,8上安装Nginx,支持https2.0的开启