课程复习
第三周:基本数据类型
-
数字类型及操作
- 整数类型
- 无范围限制
- 4种进制表示(二进制0b/八进制0o/十进制/十六进制0x)
- 浮点数类型
- 近似无范围限制
- 小尾数问题
- 科学计数法(如3.14e-2)
- 数值运算
- 二元操作符:
+ - * / // % **
- 增强操作符:
+= -= *= /=
等 - 数值运算函数:
abs() divmod() pow() round()
- 二元操作符:
- 整数类型
-
字符串类型及操作
- 索引与切片
- 正向递增索引(0~n-1)
- 反向递减索引(-1~-n)
- 切片
[start:end:step]
- 操作符与函数
- 拼接
+
重复*
存在性in
- 处理函数:
len() str() hex() oct() ord() chr()
- 处理方法:
.lower() .upper() .split() .join()
- 格式化:
.format()
方法
- 拼接
- 索引与切片
第四周:程序控制结构
-
分支结构
- 单分支:
if
- 二分支:
if-else
及紧凑形式exp1 if condition else exp2
- 多分支:
if-elif-else
- 条件运算:
not and or
+ 比较运算符(> >= == < <= !=
) - 异常处理
try: # 可能出错代码 except [ErrorType]: # 异常处理 else: # 无异常执行 finally: # 始终执行
- 单分支:
-
循环结构
- 遍历循环:
for-in
(支持range/字符串/列表/文件) - 无限循环:
while
- 循环控制
break
:终止当前循环continue
:跳过本次循环
- 高级用法
for item in iterable: # 循环体 else: # 正常完成循环后执行 # 收尾代码
- 遍历循环:
第五周:函数与递归
-
函数定义
def func(params): """文档字符串""" # 函数体 return [value]
-
参数传递
- 可选参数:
def func(a, b=0)
- 可变参数:
def func(*args)
- 名称传递:
func(b=3, a=1)
- 可选参数:
-
递归实现
- 基例:明确递归终止条件
- 链条:建立递归关系式
- 示例:阶乘/斐波那契数列/汉诺塔
-
代码复用
- 模块化设计原则
- 松耦合 vs 紧耦合
本周学习:组合数据类型
三种核心类型
类型 | 特点 | 子类型 |
---|---|---|
集合 | 无序唯一元素 | set/frozenset |
序列 | 有序可重复元素 | 字符串/列表/元组 |
字典 | 键值对映射 | dict |
重点内容
-
集合类型操作
- 创建:
{1,2,3}
或set(iterable)
- 运算:
| & - ^
(并/交/差/对称差) - 方法:
.add() .remove() .update()
- 创建:
-
序列类型深入
- 元组(不可变):
t = (1,'a',3.14)
- 列表(可变):
lst = [1,2,[3,4]]
- 通用操作:索引切片/运算符/内置函数
- 元组(不可变):
-
字典类型应用
- 创建:
d = {'name':'Alice', 'age':25}
- 访问:
d[key]
/d.get(key, default)
- 方法:
.keys() .values() .items()
- 创建:
实践案例
-
基本统计值计算
def get_stats(numbers): return { '总和': sum(numbers), '均值': sum(numbers)/len(numbers), '方差': sum((x - avg)**2 for x in numbers) }
-
第三方库应用
- jieba分词库
import jieba words = jieba.lcut("自然语言处理很有趣")
- jieba分词库
-
文本词频统计
from collections import Counter word_counts = Counter(words) print(word_counts.most_common(10))
学习目标
方法论层面 | 实践能力目标 |
---|---|
掌握集合/序列/字典核心操作 | 能处理复杂数据集 |
理解不可变与可变类型差异 | 实现数据统计与分析功能 |
掌握中文文本处理方法 | 开发基础NLP应用 |
重点提示:通过本周学习,将掌握用组合数据类型构建数据模型的能力,为后续数据分析、文本处理等应用打下坚实基础。