04_10运算符的优先级和结合性(简述运算符的优先级和结合性的基本特点)

网友投稿 314 2022-09-04


04_10运算符的优先级和结合性(简述运算符的优先级和结合性的基本特点)

"""运算符的优先级和结合性""""""一、什么是运算符的优先级 每个运算符都有固定的优先级。 当表达式中包含优先级不同的运算符时,高优先级的运算符参与运算 比如:运算符*和/的优先级比运算符+和-的优先级高,正所谓"先乘除,后加减"。"""# *比+的优先级高,*先参与运算print(2 + 3 * 4) #14"""二、什么是运算符的结合性 每个运算符都有固定的结合性。 当表达式中包含优先级相同的运算符时,结合性定义了哪个运算符先参与运算。 如果运算符的结合性为左,那么左边的运算符先参与运算, 比如:2 + 3 - 4,2 + 3会参与运算 如果运算符的结合性为右,那么右边的运算符先参与运算, 比如:a = b = 18,b = 18 会先参与运算""""""三、正确使用运算符的优先级和结合性 没有必要记忆所有运算符的优先级和结合性。 对于包含多个运算符的复杂表达式,其可读性是较低的,为了提高可读性,建议的做法有两种: (1)在复杂表达式中使用小括号指定运算顺序。 (2)将复杂表达式拆分成几步来完成。"""is_has_key = Falseis_entered_door = Falseis_passed_scan = Falseis_know_password = True# and 比or的优先级高,or的结合性是左print(is_has_key or is_entered_door and is_passed_scan or is_know_password)# 在复杂表达式中使用小括号指定运算顺序print((is_has_key or (is_entered_door and is_passed_scan)) or is_know_password)#将复杂表达式拆分成几步来完成step1 = is_entered_door and is_passed_scanstep2 = is_has_key or step1step3 = step2 or is_know_passwordprint(step3)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MyBatis中正则使用foreach拼接字符串
下一篇:04_09对象None
相关文章

 发表评论

暂时没有评论,来抢沙发吧~