时间:2022-09-12来源:www.pcxitongcheng.com作者:电脑系统城
运算符的优先级和关联性: 运算符的优先级和关联性决定了运算符的优先级。
这用于具有多个具有不同优先级的运算符的表达式中,以确定首先执行哪个操作。
示例:运算符优先级
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# 运算符优先级示例 # '+' 和 '*' 的优先级 expr = 10 + 20 * 30 print (expr) # 'or' 和 'and' 的优先级 name = "Alex" age = 0 if name = = "Alex" or name = = "John" and age > = 2 : print ( "Hello! Welcome." ) else : print ( "Good Bye!!" ) |
输出
610
Hello! Welcome.
如果一个表达式包含两个或多个具有相同优先级的运算符,则使用运算符关联性来确定。它可以是从左到右或从右到左。
示例:运算符关联性
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 运算符关联性示例 # 左右关联性 100 / 10 * 10 计算为 (100 / 10) * 10 而不是 100 / (10 * 10) print ( 100 / 10 * 10 ) # 左右关联性 5 - 2 + 3 计算为 (5 - 2) + 3 而不是 5 - (2 + 3) print ( 5 - 2 + 3 ) # 左右结合性 print ( 5 - ( 2 + 3 )) # 左右关联性 2 ** 3 ** 2 计算为 2 ** (3 ** 2) 而不是 (2 ** 3) ** 2 print ( 2 * * 3 * * 2 ) |
输出
100.0
6
0
512
除法运算符允许您将两个数字相除并返回一个商,即左边的第一个数字或数字除以右边的第二个数字或数字并返回商。
除法运算符有两种类型:
此运算符返回的商始终是浮点数,无论两个数字是否为整数。例如:
1 2 3 4 5 6 7 8 |
>>> 5 / 5 1.0 >>> 10 / 2 5.0 >>> - 10 / 2 - 5.0 >>> 20.0 / 2 10.0 |
此运算符返回的商取决于传递的参数。如果任何数字是浮点数,它以浮点数返回输出。它也被称为下限除法,因为如果任何数字为负数,则输出将被下限。例如:
1 2 3 4 5 6 |
>>> 5 / / 5 1 >>> 3 / / 2 1 >>> 10 / / 3 3 |
考虑 Python 中的以下语句。
1 2 3 4 |
# A Python program to demonstrate the use of # "//" for integers print ( 5 / / 2 ) print ( - 5 / / 2 ) |
输出:
2
-3
第一个输出很好,但如果我们来到 Java/C++ 世界,第二个可能会感到惊讶。在 Python 中,“//”运算符用作整数和浮点参数的下除法。但是,除法运算符“/”总是返回一个浮点值。
注意: “//”运算符用于返回小于或等于指定表达式或值的最接近的整数值。所以从上面的代码中,5//2 返回 2。你知道 5/2 是 2.5,小于或等于最接近的整数是 2[5//2]。(它与正常的数学相反,在正常数学中,该值为 3)。
例子
1 2 3 |
# 一个 Python 程序,用于演示使用“/”表示浮点数 print ( 5.0 / 2 ) print ( - 5.0 / 2 ) |
输出
2.5
-2.5
真正的楼层除法运算符是“//”。它返回整数和浮点参数的下限值。
1 2 3 4 5 |
# 一个 Python 程序,用于演示整数和浮点数的“//”的使用 print ( 5 / / 2 ) print ( - 5 / / 2 ) print ( 5.0 / / 2 ) print ( - 5.0 / / 2 ) |
输出
2
-3
2.0
-3.0
三元运算符
三元运算符也称为条件表达式,是根据条件为真或假来评估某些内容的运算符。它在2.5版本中被添加到 Python 中。
它只是允许在单行中测试条件,替换多行 if-else,使代码紧凑。
语法 :
[on_true] 如果 [表达式] 否则 [on_false]
使用三元运算符的简单方法:
1 2 3 4 5 6 7 |
# 演示条件运算符的程序 a, b = 10 , 20 # 如果 a < b 则复制 a 的最小值,否则复制 b min = a if a < b else b print ( min ) |
输出:
10
使用元组、字典和 lambda 的直接方法
1 2 3 4 5 6 7 8 9 10 11 |
# 演示三元运算符的 Python 程序 a, b = 10 , 20 # 使用元组选择一个项目 (if_test_false,if_test_true)[test] 如果 [a<b] 为真则返回 1,因此索引为 1 的元素将打印,否则如果 [a<b] 为假则返回 0,因此元素为 0 索引将打印 print ( (b, a) [a < b] ) # 如果 [a < b] 为真,则使用 Dictionary 选择项目,然后打印 True 键的值,否则,如果 [a<b] 为假,则打印 False 键的值 print ({ True : a, False : b} [a < b]) # lambda 比上述两种方法更有效,因为在 lambda 中,我们确保只评估一个表达式,这与 tuple 和 Dictionary 不同 print (( lambda : b, lambda : a)[a < b]()) |
输出:
10
10
10
三元运算符可以写成嵌套的 if-else:
1 2 3 4 5 |
# 演示嵌套三元运算符的 Python 程序 a, b = 10 , 20 print ( "Both a and b are equal" if a = = b else "a is greater than b" if a > b else "b is greater than a" ) |
上面的方法可以写成:
1 2 3 4 5 6 7 8 9 10 |
# 演示嵌套三元运算符的 Python 程序 a, b = 10 , 20 if a ! = b: if a > b: print ( "a is greater than b" ) else : print ( "b is greater than a" ) else : print ( "Both a and b are equal" ) |
输出:
b is greater than a
要在三元运算符中使用打印功能,例如:-
示例:在 python3 中使用三元运算符查找 2 中的较大数
1 2 3 4 5 6 |
a = 5 b = 7 # [statement_on_True] if [condition] else [statement_on_false] print (a, "is greater" ) if (a>b) else print (b, "is Greater" ) |
输出:
7 is Greater
当三元运算符不存在 时,在 2.5 之前使用的方法在如下给出的表达式中,解释器检查表达式是否为真,然后评估 on_true,否则评估 on_false。
语法 :
'''条件为真时,不执行表达式[on_false],返回“True and [on_true]”的值。 返回“False or [on_false]”的其他值。注意“True and x”等于x。 “假或 x”等于 x。 '''
[表达式] 和 [on_true] 或 [on_false]
例子 :
1 2 3 4 5 6 7 8 |
# 演示条件运算符的程序 a, b = 10 , 20 # 如果 a 小于 b,则分配 a,否则分配 b(注意:如果 a 为 0,则它不起作用)。 min = a < b and a or b print ( min ) |
输出:
10
注意: 此方法的唯一缺点是on_true 不能为零或 False。如果发生这种情况,将始终评估 on_false。原因是如果表达式为真,解释器将检查 on_true,如果它为零或假,这将迫使解释器检查 on_false 以给出整个表达式的最终结果。
2023-03-17
python flask项目打包成docker镜像发布的过程2023-03-17
python调试模块ipdb详解2023-03-17
python使用openai生成图像的超详细教程python cron定时任务触发接口自动化巡检 apscheduler报错:Run time of job …… next run at: ……)” was missed by misfire_grace_time参数 找到任务超时的根本原因...
2023-03-15