如何构建此代码以避免重复?
How can I structure this code to avoid repetition?
我有两个条件,a
和b
。如果 a
为真,则应执行一个代码块,如果 a
或 b
为真,则应执行另一个代码块。有没有比下面更好的代码结构方式 - 我可以避免重复测试 a
?
if a or b:
if a:
<block 1>
<block 2>
不经过反复试验是不行的。为了验证这一点,只需写下真相table。
但是您可以避免 if
语句的嵌套:
if a:
<block 1>
if a or b:
<block 2>
这可以使代码更具可读性。
我在这里假设 a
是一个布尔值,而不是一个更复杂的表达式的占位符,该表达式的计算成本可能很高。在后一种情况下,您当然会只对表达式求值一次并将结果分配给布尔值。
我有两个条件,a
和b
。如果 a
为真,则应执行一个代码块,如果 a
或 b
为真,则应执行另一个代码块。有没有比下面更好的代码结构方式 - 我可以避免重复测试 a
?
if a or b:
if a:
<block 1>
<block 2>
不经过反复试验是不行的。为了验证这一点,只需写下真相table。
但是您可以避免 if
语句的嵌套:
if a:
<block 1>
if a or b:
<block 2>
这可以使代码更具可读性。
我在这里假设 a
是一个布尔值,而不是一个更复杂的表达式的占位符,该表达式的计算成本可能很高。在后一种情况下,您当然会只对表达式求值一次并将结果分配给布尔值。