运算符与表达式

运算符与表达式

Created: November 29, 2023 10:38 PM

运算符

运算符 释义
+、-、*、/
**、//、% 乘方、整除(向下取整至最接近的整数、余数
<<、>> 指的是二进制左右移
&按位与 按位与是针对二进制数的操作,指将两个二进制数的每一位都进行比较,如果两个相应的二进位都为 1 则此位为 1,否则为 0。例如5&3输出1, 5 的二进制表达为 101 , 3 的二进制表达为 11 (为补全位数进行按位操作写作 011 ),则按位与操作后的结果为001 ,对应的十进制数为 1 。
按位或
^按位异或 按位异或是针对二进制数的操作,指将两个二进制数的每一位都进行比较,如果两个相应的二进位不同则此位为 1,相同为 0。例如5 ^ 3输出6, 101 与 011 进行按位异或操作的结果为 110 ,对应十进制数为 6.
~按位取反 按位取反也称作“按位取非”或“求非”或“取反”,“按位翻转”,是针对二进制数的操作,指将两个二进制数的每一二进位都进行取反操作, 0 换成 1 , 1 换成0 。详情:http://stackoverflow.com/a/11810203
>、<、≤、≥、==、≠
not(布尔“非”) 如果 x 是 Ture ,则返回 False 。如果 x 是 False ,则返回 True 。
x = Ture; 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 。在这里短路计算同样适用。

求值顺序

求值顺序

表达式

length = 5
breadth = 2
area = length * breadth
print('Area is', area)
print('Perimeter is', 2 * (length + breadth))

输出:

$ python expression.py
Area is 10
Perimeter is 14

矩形的长度(Length)与宽度(Breadth)存储在以各自名称命名的变量中。我们使用它们并借助表达式来计算矩形的面积(Area)与周长(Perimeter)。我们将表达式 length *breadth 的结果存储在变量 area 中并将其通过使用 print 函数打印出来。在第二种情况中,我们直接在 print 函数中使用了表达式 2 * (length + breadth) 的值。
同时,你需要注意到 Python是如何漂亮地打印出 输出结果的。尽管我们没有特别在Area is 和变量 area 之间指定空格,Python 会帮我们加上所以我们就能得到一个整洁的输出结果,同时程序也因为这样的处理方式而变得更加易读(因为我们不需要在用以输出的字符串中考虑空格问题)。这便是一个 Python 是如何让程序员的生活变得更加便捷美好的范例。

posted @ 2024-05-13 11:52  残肢  阅读(40)  评论(0编辑  收藏  举报