2024软考《软件设计师》-Python专项知识补充

接上文:2024软考《软件设计师》-Python专题知识(含历年真题解析)-CSDN博客

Python知识点速记

  1. Python 中单引号 ' 双引号 " 使用完全相同。
  2. 使用三引号(' ' ' 或 " " ")可以指定一个多行字符串。
  3. Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
  4. Python 可以在同一行中使用多条语句,语句之间使用分号 ; 分割。
  5. print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""
  6. Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
  7. Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
  8. 内置的 type() 函数可以用来查询变量所指的对象类型。
  9. Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。
  10. Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。
  11. Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串。
  12. 反斜杠(\)可以作为续行符,表示下一行是上一行的延续。也可以使用 """…""" 或者 '''…''' 跨越多行。
  13. Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
  14. 数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
  15. 可以使用 bool() 函数将其他类型的值转换为布尔值。以下值在转换为布尔值时为 FalseNoneFalse、零 (00.00j)、空序列(如 ''()[])和空映射(如 {}。其他所有值转换为布尔值时均为 True
  16. 在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True,只有 0、空字符串、空列表、空元组等被视为 False
  17. 在 Python3 中,bytes 类型表示的是不可变的二进制序列(byte sequence)。
  18. 与字符串类型不同的是,bytes 类型中的元素是整数值(0 到 255 之间的整数),而不是 Unicode 字符。
  19. 使用 int()、float()、str() 等预定义函数来执行显式类型转换。关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符。
  20. 迭代器有两个基本的方法:iter() 和 next()
  21. Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else
  22. 在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。
  23. 每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
  24. Python 中没有 switch…case 语句,但在 Python3.10 版本添加了 match…case,功能也类似。
  25. match 后的对象会依次与 case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_ 可以匹配一切
  26. case _: 类似于 C 和 Java 中的 default:,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。
  27. 一个 case 也可以设置多个匹配条件,条件使用 | 隔开。
  28. 在 Python 中没有 do..while 循环。
  29. while 循环使用 else 语句,如果 while 后面的条件语句为 false 时,则执行 else 的语句块
  30. Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
  31. Python 中,for…else 语句用于在循环结束后执行一段代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
  32. break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
  33. continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
  34. 如果你需要遍历数字序列,可以使用内置 range() 函数,它会生成数列。
  35. Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。

Python知识点扩展

Python3 的六个标准数据类型

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
  • isinstance 和 type 的区别

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型。
  • 定义一个函数

    你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号 : 起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。
  • 异常

    即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。

    try/except

    try/except…else

    try/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的 except 子句之后。

    else 子句将在 try 子句没有发生任何异常的时候执行。

    try-finally 语句

    try-finally 语句无论是否发生异常都将执行最后的代码。

    抛出异常

    Python 使用 raise 语句抛出一个指定的异常。

    raise语法格式如下:

    raise [Exception [, args [, traceback]]]

    Python 推导式

    列表推导式

    列表推导式格式为:

    [表达式 for 变量 in 列表] 
    [out_exp_res for out_exp in input_list]
    
    或者 
    
    [表达式 for 变量 in 列表 if 条件]
    [out_exp_res for out_exp in input_list if condition]
  • out_exp_res:列表生成元素表达式,可以是有返回值的函数。
  • for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。
  • if condition:条件语句,可以过滤列表中不符合条件的值。
  • #过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母:
    
    #实例
    >>> names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
    >>> new_names = [name.upper()for name in names if len(name)>3]
    >>> print(new_names)
    ['ALICE', 'JERRY', 'WENDY', 'SMITH']
    #计算 30 以内可以被 3 整除的整数:
    
    #实例
    >>> multiples = [i for i in range(30) if i % 3 == 0]
    >>> print(multiples)
    [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

    字典推导式

    字典推导基本格式:

    { key_expr: value_expr for value in collection }
    
    或
    
    { key_expr: value_expr for value in collection if condition }
    #使用字符串及其长度创建字典:
    
    #实例
    listdemo = ['Google','Runoob', 'Taobao']
    # 将列表中各字符串值为键,各字符串的长度为值,组成键值对
    >>> newdict = {key:len(key) for key in listdemo}
    >>> newdict
    {'Google': 6, 'Runoob': 6, 'Taobao': 6}
    #提供三个数字,以三个数字为键,三个数字的平方为值来创建字典:
    
    #实例
    >>> dic = {x: x**2 for x in (2, 4, 6)}
    >>> dic
    {2: 4, 4: 16, 6: 36}
    >>> type(dic)
    <class 'dict'>

    集合推导式

    集合推导式基本格式:

    { expression for item in Sequence }
    或
    { expression for item in Sequence if conditional }
    #计算数字 1,2,3 的平方数:
    
    #实例
    >>> setnew = {i**2 for i in (1,2,3)}
    >>> setnew
    {1, 4, 9}
    #判断不是 abc 的字母并输出:
    
    #实例
    >>> a = {x for x in 'abracadabra' if x not in 'abc'}
    >>> a
    {'d', 'r'}
    >>> type(a)
    <class 'set'>

    元组推导式(生成器表达式)

    元组推导式可以利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的元组。

    元组推导式基本格式:

    (expression for item in Sequence )
    或
    (expression for item in Sequence if conditional )

    元组推导式和列表推导式的用法也完全相同,只是元组推导式是用 () 圆括号将各部分括起来,而列表推导式用的是中括号 [],另外元组推导式返回的结果是一个生成器对象。

    #例如,我们可以使用下面的代码生成一个包含数字 1~9 的元组:
    
    #实例
    >>> a = (x for x in range(1,10))
    >>> a
    <generator object <genexpr> at 0x7faf6ee20a50>  # 返回的是生成器对象
    
    >>> tuple(a)       # 使用 tuple() 函数,可以直接将生成器对象转换成元组
    (1, 2, 3, 4, 5, 6, 7, 8, 9)

    Python3 标准库概览

    Python 标准库非常庞大,所提供的组件涉及范围十分广泛,使用标准库我们可以让您轻松地完成各种任务。

    以下是一些 Python3 标准库中的模块:

  • os 模块:os 模块提供了许多与操作系统交互的函数,例如创建、移动和删除文件和目录,以及访问环境变量等。

  • sys 模块:sys 模块提供了与 Python 解释器和系统相关的功能,例如解释器的版本和路径,以及与 stdin、stdout 和 stderr 相关的信息。

  • time 模块:time 模块提供了处理时间的函数,例如获取当前时间、格式化日期和时间、计时等。

  • datetime 模块:datetime 模块提供了更高级的日期和时间处理函数,例如处理时区、计算时间差、计算日期差等。

  • random 模块:random 模块提供了生成随机数的函数,例如生成随机整数、浮点数、序列等。

  • math 模块:math 模块提供了数学函数,例如三角函数、对数函数、指数函数、常数等。

  • re 模块:re 模块提供了正则表达式处理函数,可以用于文本搜索、替换、分割等。

  • json 模块:json 模块提供了 JSON 编码和解码函数,可以将 Python 对象转换为 JSON 格式,并从 JSON 格式中解析出 Python 对象。

  • urllib 模块:urllib 模块提供了访问网页和处理 URL 的功能,包括下载文件、发送 POST 请求、处理 cookies 等。

  • 作者:曾梦想仗剑闯天涯

    物联沃分享整理
    物联沃-IOTWORD物联网 » 2024软考《软件设计师》-Python专项知识补充

    发表回复