聪明学python【4】+【001】

发布时间 2023-11-28 20:41:06作者: 沁余

【4】条件 + 【001】代码风格

if 语句

关于选择的语句,具体不必阐述,和C语言大差不差,关于几点区别会在下方列出

  1. 关于所有选择:

    • if

    • if-else

      • if-else 推导式

        1. 推导式(Comprehensions)是Python中一种简洁强大的语法,用于创建新的序列(如列表、集合、字典)的一种方法。Python中有三种主要的推导式:列表推导式集合推导式字典推导式

          1.列表推导式(List Comprehensions):
          列表推导式提供了一种创建新列表的紧凑语法。其基本形式如下:

          new_list = [expression for item in iterable if condition]

          2.expression:用于生成新列表元素的表达式。
          3.item:迭代的元素。
          4.iterable:可迭代对象,例如列表、元组、字符串等。
          5.condition(可选):一个过滤条件,仅当条件为真时才包含元素。
          示例:

          生成一个包含1到10的平方的列表
             squares = [x**2 for x in range(1, 11)]
          

          推导式使得代码更为紧凑和可读,但要注意不要滥用,以免降低代码的可读性。

          例如:

        2. def abs7(n):
              return n if (n >= 0) else -n
          

          就是把if-else的成分做一个式子的一部分。

          注意:if-else推导式在简单的条件逻辑中很有用,但要注意,如果条件逻辑过于复杂,可能会使代码难以阅读。在这种情况下,最好使用常规的if语句块。

      • img

    • if-elif-else

      • 用法和C语言的else if 类似
    • match …… case

      • 类似于C中switch case

      • 不同的是每个case后不需要有break,只会执行一个case

      • case _: 类似于 C 和 Java 中的 default:,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。

      • 一个 case 也可以设置多个匹配条件,条件使用 隔开,例如:

        ...
            case 401|403|404:
                return "Not allowed"
        
  2. 关于所有选择的格式:

    • 嵌套

    • 并列

    • 函数封装

      • #例如
        def abs5(n):
            if n >= 0:
                return n
            else:
                return -n
        
  3. 格式与C语言的不同之处

    • if后面要跟冒号 ‘:’
    • 严格缩进(不缩进则视为选择部分结束)

【001】代码风格

  1. 缩进

    • 如果有开始定界符,其余行的缩进需与开始定界符对齐。
    • 需要额外的4个空格(长度等于一个Tab键),以区分开传入参数,和其他内容。
    • 空格一般用于添加以上这种缩进,Tab键一般用于保持行与行之间的一致性
    • 多行if语句衔接,需要一个额外的缩进,以区分其他内容 ?
  2. 换行

    • 将所有行限制为最多 79 个字符

    • 一般语句接受“隐式”延续,但是with语句等不支持,需要使用反斜杠 ** 来衔接。

    • 另一个这样的例子是assert语句。

    • 多行if语句的缩进?

    • 通常不鼓励使用复合语句(同一行上的多个语句)

  3. 关于空格

    • 紧接在圆括号、方括号或大括号内,不需要多余空格;
    • 逗号、分号或冒号之前,尾随逗号之后均不需要多余空格;
    • 切片中,两个冒号必须应用相同的间距;
    • 紧接在开始函数调用的参数列表的左括号之前,不需要多余空格;
    • 赋值(或其他)运算符周围需要多个空格以使其与另一个运算符对齐
  4. 代码注释

    • 注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。 注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提 高程序代码的可读性。

    • 在有处理逻辑的代码中,源程序有效注释量必须在20%以上。

    • 我的约定
      • 在代码最前端---多行注释:创建时间、功能(任务描述)、其他
      • 函数开始的前一行,用 # 描述功能和返回值的介绍(必要的话)
  5. 命名规则

    • 变量名不能包含空格,但可使用下划线来分隔其中的单词。 例如,变量名greeting_message 可行,但变量名greeting message会引发错误。
  6. 命名规范

    • 不要将Python关键字和函数名用作变量名,即不要 使用Python保留用于特殊用途的单词,如print
    • 变量名与函数名应既简短又具有描述性。例如, namen好, student_names_n好。