5. 条件 Conditionals
作业系统链接
Python 条件语句与代码风格学习笔记
一、if 语句
1. 基本用法
- 定义与流程:
if
语句用于基于条件做出决策。条件为True
时,执行相应的代码块。 - 示例:
def f(x): print("A", end="") if x == 0: print("B", end="") print("C", end="") print("D") f(1) # 输出 AD
2. 实现绝对值函数
-
多种实现方式:
- 使用单个
if
语句:def abs1(n): if n < 0: n = -n return n
- 一行实现(不推荐):
def abs2(n): if n < 0: n = -n return n
- 多个返回语句:
def abs3(n): if n < 0: return -n return n
- 使用布尔表达式(不推荐):
def abs4(n): return (n < 0)*(-n) + (n>=0)*(n)
- 使用单个
-
验证结果:
print("abs1(5) =", abs1(5), "and abs1(-5) =", abs1(-5)) print("abs2(5) =", abs2(5), "and abs2(-5) =", abs2(-5)) print("abs3(5) =", abs3(5), "and abs3(-5) =", abs3(-5)) print("abs4(5) =", abs4(5), "and abs4(-5) =", abs4(-5))
二、if-else 语句
- 基本用法:
if
条件不满足时,执行else
代码块。 - 示例:
def f(x): print("A", end="") if x == 0: print("B", end="") print("C", end="") else: print("D", end="") if x == 1: print("E", end="") else: print("F", end="") print("G")
三、if-elif-else 语句
- 基本用法:用于多个条件判断,满足一个条件后执行相应代码块,后续条件不再判断。
- 示例:
def f(x): print("A", end="") if x == 0: print("B", end="") print("C", end="") elif x == 1: print("D", end="") else: print("E", end="") if x == 2: print("F", end="") else: print("G", end="") print("H")
四、重新设计 abs() 函数
- 更清晰的方式:
def abs5(n): if n >= 0: return n else: return -n def abs6(n): if n >= 0: sign = +1 else: sign = -1 return sign * n
五、实际应用
-
一元二次方程根的个数:
def numberOfRoots(a, b, c): d = b**2 - 4*a*c if d > 0: return 2 elif d == 0: return 1 else: return 0
-
学生分数登记系统:
def getGrade(score): if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" elif score >= 60: grade = "D" else: grade = "F" return grade
六、if-else 推导式
-
一种更简洁的写法,用于单行条件表达式。
def abs7(n): return n if n >= 0 else -n
七、代码风格与清晰性
- 否定条件:尽量使用正逻辑(
if b:
而不是if not b:
),这通常使代码更易于理解。 - 空白的 if 部分:避免使用
pass
,除非确实需要保留某个if
结构的占位符。 - 嵌套与逻辑:使用
if
和and
结合,而不是嵌套if
。 - 避免冗余控制:不要在同一作用域内连续使用多个
if
来检查相同或相关的条件。
八、总结
if
、if-else
、if-elif-else
语句构成了 Python 的分支控制基础。- 合理的代码风格可以显著提升代码的可读性和可维护性。
- 尽可能避免使用过于复杂的布尔表达式和不必要的