当前位置: 首页 > article >正文

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 的分支控制基础。
  • 合理的代码风格可以显著提升代码的可读性和可维护性。
  • 尽可能避免使用过于复杂的布尔表达式和不必要的

http://www.kler.cn/a/317343.html

相关文章:

  • JavaScript 自动化软件:AutoX.js
  • 解决failed to execute PosixPath(‘dot‘) 或者GraphViz‘s executables not found
  • 基于Java Springboot快递物流管理系统
  • CSS:怎么把网站都变成灰色
  • 火车车厢重排问题,C++详解
  • 测试工程师简历「精选篇」
  • 56 mysql 用户权限相关的实现
  • Spring高手之路24——事务类型及传播行为实战指南
  • DHCP中继工作原理
  • 算法【Dijkstra算法及分层图最短路】
  • WPF实现关系图
  • Vue开发前端图片上传给java后端
  • MMD模型一键完美导入UE5-VRM4U插件方案(一)
  • 为什么三星、OPPO、红米都在用它?联发科12nm级射频芯片的深度剖析
  • Fyne ( go跨平台GUI )中文文档-入门(一)
  • Adobe预览今年晚些时候推出的AI视频工具
  • RAG技术全面解析:Langchain4j如何实现智能问答的跨越式进化?
  • 深入理解Vue3中style的scoped
  • 简单计算器(python基础代码撰写)
  • Vue3:具名插槽
  • 微信小程序07-开发进阶
  • c++难点核心笔记(一)
  • 基于SpringBoot+Vue的在线问诊管理系统
  • 【觅图网-注册安全分析报告-无验证方式导致安全隐患】
  • 爬虫逆向学习(七):补环境动态生成某数四代后缀MmEwMD
  • AIGC时代!AI的“iPhone时刻”与投资机遇