news 2026/3/5 9:44:16

Python 期末复习知识点汇总

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 期末复习知识点汇总

Python 期末知识点汇总

本文聚焦 Python 期末考核核心知识点,从基础到进阶分层梳理,覆盖语法、数据结构、流程控制、函数、面向对象、文件操作、异常处理等高频考点,适合期末复习冲刺。

一、基础语法(必考)

1. 编码规范与执行

  • PEP 8 规范:缩进用 4 个空格、单行代码不超过 79 字符、变量命名小写 + 下划线(如student_name)、常量全大写(如MAX_NUM)。

  • 执行方式

    • 交互式:终端输入python进入,直接执行代码;

    • 脚本式:编写.py文件,终端执行python 文件名.py

    • 模块导入:import 模块名,导入后执行模块内代码(if __name__ == "__main__":仅脚本直接运行时执行内部代码)。

  • 注释:单行# 注释内容,多行"""多行注释"""/'''多行注释'''

2. 变量与数据类型

  • 变量特性:动态类型(无需声明类型),赋值即定义,如a = 1a = "hello"(同一变量可改类型)。

  • 基本数据类型

类型示例关键考点
整数 (int)10-5支持加减乘除、取模 (%)、幂 (**)
浮点数 (float)3.142.0精度问题(如0.1+0.2≠0.3
字符串 (str)"abc"'123'不可变、索引 (s[0])、切片 (s[1:3])、拼接 (+)、重复 (*)
布尔值 (bool)TrueFalse本质是 int 子类(True=1False=0),支持and/or/not
空值 (None)None与 0、空字符串、空列表不等价
  • 类型转换int()float()str()bool()(空值 / 0 转False,非空 / 非 0 转True)。

3. 复合数据类型(核心)

类型定义方式可变性核心操作考点
列表 (list)[1, "a", [2,3]]可变索引、切片、append()pop()remove()sort()增删改查、列表推导式
元组 (tuple)(1, "a")(2,)不可变索引、切片、count()index()不可变性、元组解包(a,b=(1,2)
字典 (dict){"name":"Tom", "age":18}可变d[key]keys()values()items()get()键值对操作、键的唯一性
集合 (set){1,2,3}可变add()remove()、交集 (&)、并集 (`)、差集(-`)

二、流程控制(必考)

1. 条件判断

\# 基础格式 if 条件1:   代码块1 # 缩进4空格 elif 条件2:   代码块2 else:   代码块3
  • 条件表达式

    • 比较运算符:==!=<><=>=

    • 逻辑运算符:and(与)、or(或)、not(非);

    • 成员运算符:in(存在)、not in(不存在);

    • 身份运算符:is(内存地址相同)、is not(注意==判断值,is判断地址)。

2. 循环结构

(1)for 循环(遍历可迭代对象)
\# 遍历range for i in range(1, 10, 2): # 起始1,结束10(不含),步长2 &#x20; print(i) \# 遍历列表/字典 for item in \[1,2,3]: &#x20; print(item) for k, v in {"a":1, "b":2}.items(): &#x20; print(k, v)
(2)while 循环(条件循环)
i = 0 while i < 5: &#x20; print(i) &#x20; i += 1 # 必须修改条件变量,避免死循环
(3)循环控制
  • break:终止整个循环;

  • continue:跳过当前轮次,进入下一轮;

  • else:循环正常结束(未被break终止)时执行。

三、函数(高频考点)

1. 函数定义与调用

def 函数名(参数列表): &#x20; """文档字符串:函数说明(可选)""" &#x20; 函数体 &#x20; return 返回值 # 无return则返回None \# 调用 result = 函数名(参数)

2. 参数类型(核心考点)

参数类型示例说明
位置参数def add(a,b): ...add(1,2)按参数定义顺序传递
关键字参数add(a=1, b=2)按参数名传递,可打乱顺序
默认参数def add(a, b=0): ...定义时指定默认值,调用时可省略
可变参数def func(*args, **kwargs): ...*args接收任意位置参数(元组),**kwargs接收任意关键字参数(字典)

3. 函数高级特性

  • 匿名函数(lambda)lambda 参数: 表达式(单行函数),如lambda x: x*2(计算 x 的 2 倍)。

  • 作用域:LEGB 规则(局部→嵌套→全局→内置),global修改全局变量,nonlocal修改嵌套作用域变量。

  • 递归函数:函数调用自身,必须有终止条件(如阶乘:def fact(n): return 1 if n==1 else n*fact(n-1))。

四、面向对象编程(OOP,重点)

1. 类与对象的定义

class Person: &#x20; # 类属性(所有实例共享) &#x20; species = "人类" &#x20; &#x20; &#x20; # 构造方法(初始化实例属性) &#x20; def \_\_init\_\_(self, name, age): &#x20; self.name = name # 实例属性 &#x20; self.age = age &#x20; &#x20; &#x20; # 实例方法(self指向当前实例) &#x20; def say\_hello(self): &#x20; print(f"我是{self.name},今年{self.age}岁") &#x20; &#x20; &#x20; # 类方法(cls指向类) &#x20; @classmethod &#x20; def show\_species(cls): &#x20; print(cls.species) \# 创建对象(实例化) p1 = Person("Tom", 18) p1.say\_hello() # 调用实例方法 Person.show\_species() # 调用类方法

2. 三大特性

  • 封装:隐藏内部实现,通过方法访问属性(如get_name()/set_name()),伪私有属性(__attr,实际重命名为_类名__attr)。

  • 继承:子类继承父类属性和方法,class Student(Person): ...,通过super().__init__()调用父类构造方法,支持多继承(遵循 MRO 顺序)。

  • 多态:不同子类重写父类方法,调用时表现不同行为(如CatDog都重写Animalspeak()方法)。

3. 常用魔术方法

方法作用
__init__初始化实例
__str__打印对象时返回自定义字符串
__len__实现len(对象)的功能

五、文件操作(必考)

1. 基础读写(推荐 with 语句,自动关闭文件)

\# 读文件(r:只读,utf-8编码避免中文乱码) with open("test.txt", "r", encoding="utf-8") as f: &#x20; content = f.read() # 读取全部内容 &#x20; # line = f.readline() # 逐行读取 &#x20; # lines = f.readlines() # 读取所有行到列表 \# 写文件(w:覆盖写入,a:追加写入) with open("test.txt", "w", encoding="utf-8") as f: &#x20; f.write("Hello Python\n") # 写入字符串 &#x20; f.writelines(\["第一行\n", "第二行\n"]) # 写入多行列表

2. 打开模式速记

模式说明
r只读(默认)
w写入,覆盖原有内容
a追加,在文件末尾写入
b二进制模式(如 rb、wb)
+读写模式(如 r+、w+)

六、异常处理(必考)

1. 基础语法

try: &#x20; # 可能出错的代码 &#x20; num = int(input("请输入数字:")) &#x20; print(10 / num) except ValueError: &#x20; print("输入的不是数字!") except ZeroDivisionError: &#x20; print("不能除以0!") except Exception as e: # 捕获所有异常(兜底) &#x20; print(f"出错了:{e}") else: # 无异常时执行 &#x20; print("执行成功!") finally: # 无论是否异常都执行(如关闭文件) &#x20; print("程序结束")

2. 常见异常类型

  • SyntaxError:语法错误(编写时就会报错);

  • NameError:变量未定义;

  • TypeError:类型不匹配(如字符串 + 数字);

  • IndexError:列表索引越界;

  • KeyError:字典键不存在;

  • FileNotFoundError:文件不存在。

七、进阶高频考点

1. 推导式(简洁高效,常考)

  • 列表推导式:[x*2 for x in range(10) if x % 2 == 0](生成偶数的 2 倍列表);

  • 字典推导式:{k: v+1 for k, v in {"a":1, "b":2}.items()}

  • 集合推导式:{x for x in [1,2,2,3]}(去重)。

2. 字符串格式化(常考)

  • f-string(Python3.6+,推荐):f"姓名:{name},年龄:{age}"

  • format 方法:"姓名:{},年龄:{}".format(name, age)

  • 占位符:"姓名:%s,年龄:%d" % (name, age)

3. 模块与包

  • 模块导入import 模块名import 模块名 as 别名from 模块名 import 函数/类

  • 常用内置模块

    • os:文件 / 路径操作(os.path.join()os.mkdir());

    • datetime:日期时间处理(datetime.datetime.now());

    • random:随机数生成(random.randint(1,10));

    • re:正则表达式(匹配、替换字符串)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/5 0:32:38

LangGraph深度解析:从图基础到人机交互的AI工作流框架实践

摘要&#xff1a;LangGraph作为新兴的AI工作流编排框架&#xff0c;通过图结构为Agent开发提供了全新的编程范式。本文从基础概念入手&#xff0c;深度剖析LangGraph的核心三要素&#xff08;节点、边、状态&#xff09;&#xff0c;详解并行处理、记忆管理、工具集成等高级特性…

作者头像 李华
网站建设 2026/3/2 2:19:56

C++--

set

作者头像 李华
网站建设 2026/3/3 2:54:39

算法练习4--数组:长度最小的子数组

核心思路&#xff1a;滑动窗口int minSubArrayLen(int target, int* nums, int numsSize) {int i 0;int sum 0;int result numsSize1;for(int j 0;j < numsSize;j){sum nums[j];while(sum > target){int sumlen j - i 1;if(sumlen < result){result sumlen;}s…

作者头像 李华
网站建设 2026/3/5 5:49:51

git和github的区别

Git 和 GitHub 是两个密切相关但本质不同的工具&#xff0c;它们在软件开发中扮演着不同角色。以下是它们的主要区别&#xff1a;1. 定义不同Git 是一个分布式版本控制系统&#xff08;DVCS&#xff09;&#xff0c;由 Linus Torvalds 于 2005 年创建&#xff0c;用于跟踪代码的…

作者头像 李华
网站建设 2026/3/2 11:10:04

小白从零开始勇闯人工智能Linux初级篇(MySQL库)

引言在上一篇文章中我们已经完成了使用Mysql库前的所有准备了&#xff0c;并且也初步了解了Mysql库&#xff0c;接下来就让我们一起正式的开启Mysql的学习吧。一、MySQL基础操作实战1、创建数据库与表在Navicat Premium中&#xff0c;创建数据库和表有两种常用方法&#xff1a;…

作者头像 李华