运算符与表达式
你所编写的大多数语句(逻辑行)都包含了表达式(Expressions)。一个表达式的简单例子
便是 2+3 。表达式可以拆分成运算符(Operators)与操作数(Operands)。
运算符(Operators)是进行某些操作,并且可以用诸如 + 等符号或特殊关键词加以表达的
功能。运算符需要一些数据来进行操作,这些数据就被称作操作数(Operands)。在上面的
例子中 2 和 3 就是操作数。
运算符
接下来我们将简要了解各类运算符及它们的用法。
要记得你可以随时在解释器中对给出的案例里的表达式进行求值。例如要想测试表达式
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 。
& (按位与)
对数字进行按位与操作。
5 & 3 输出 1 。
| (按位或)
对数字进行按位或操作。
5 | 3 输出 7 。
^ (按位异或)
对数字进行按位异或操作。
5 ^ 3 输出 6 。
~ (按位取反)
x 的按位取反结果为 -(x+1)。
~5 输出 -6 。有关本例的更多细节可以参
阅:http://stackoverflow.com/a/11810203 。
< (小于)
返回 x 是否小于 y。所有的比较运算符返回的结果均为 True 或 False 。请注意这
些名称之中的大写字母。
5 < 3 输出 False , 3 < 6 输出 True 。
1
2
3
4
运算符与表达式
比较可以任意组成组成链接: 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 (布尔“非”)
如果 x 是 True ,则返回 False 。如果 x 是 False ,则返回 True 。
x = True; not x 返回 False 。
and (布尔“与”)
如果 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 (布尔“或”)
如果 x 是 True ,则返回 True ,否则它将返回 y 的计算值。
x = Ture; y = False; x or y 将返回 Ture 。在这里短路计算同样适用。
为了帮助大家让学习变得轻松、高效,给大家免费分享一大批资料,让AI越来越普及。在这里给大家推荐一个人工智能Python学习交流群:705673780欢迎大家进群交流讨论,学习交流,共同进步。
当真正开始学习的时候难免不知道从哪入手,导致效率低下影响继续学习的信心。
但最重要的是不知道哪些技术需要重点掌握,学习时频繁踩坑,最终浪费大量时间,所以拥有有效资源还是很有必要的。