自学内容网 自学内容网

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 结构的占位符。
  • 嵌套与逻辑:使用 ifand 结合,而不是嵌套 if
  • 避免冗余控制:不要在同一作用域内连续使用多个 if 来检查相同或相关的条件。

八、总结

  • ifif-elseif-elif-else 语句构成了 Python 的分支控制基础。
  • 合理的代码风格可以显著提升代码的可读性和可维护性。
  • 尽可能避免使用过于复杂的布尔表达式和不必要的

原文地址:https://blog.csdn.net/yxg2012_04_06/article/details/142469986

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!