Python 核心基础语法
学习原则: 高效提问,独立思考。遇到问题先尝试 Debug,提问时附带代码与报错截图,避免无效沟通。
📅 Day 4 - 格式化输出与字符编码
1. 格式化输出
.format(): 使用{}作为占位符。print('xxxx{}xxxx'.format(数据1))- 优点: 支持下标索引,可重复利用数据。
- f-string: 数据类型无限制,支持在大括号内进行数学运算、切片等操作。
- 占位符 (%):
%d(整型),%s(字符串),%f(浮点型,%.2f保留两位小数)。
2. 字符编码
- 主流编码:
utf-8。 - 核心原则: 以什么编码写入,就以什么编码读取,否则会产生乱码或报错。
- 内置函数:
ord(字符): 获取对应的序号(Unicode)。chr(序号): 获取对应的字符。
📅 Day 5 - 运算符与变量修养
1. 程序的生命周期
- 双击
.py文件闪退是因为程序运行速度极快,执行完后立即关闭。建议在 IDLE 或 PyCharm 中运行以查看结果。
2. 基础规范
- 变量命名: 由字母、数字、下划线组成;首字母不能为数字;避开关键字;区分大小写;推荐见名知义(小驼峰或下划线法)。
- 注释: 单行使用
#,多行使用三对引号'''或"""。
3. 数据类型
- 数值:
int,float,bool(True=1, False=0)。 - 序列类型:
str: 不可变。list:[]包裹,可变,存放任意类型。tuple:()包裹,不可变(若只有一个元素需加逗号(1,))。- 特性: 索引(从0开始)、切片(左闭右开
[start:end])、步长。
4. 运算符优先级
小括号
()> 幂\**> 算术运算符 > 比较运算符 > 成员运算符 (in) > 逻辑运算符 (and/or/not)
- 短路运算:
and: 前面为假,后面不执行。or: 前面为真,后面不执行。
📅 Day 6 - 流程控制与调试
1. 三大结构
- 顺序结构: 从上往下。
- 选择结构:
if...elif...else。注意:0,'',[],(),{},None在判断中视为 假。 - 循环结构:
while(条件循环) 和for(遍历循环)。
2. 循环控制
- break: 彻底终止当前循环。
- continue: 跳过本次循环,进入下一次。
- pass: 空语句占位符,防止语法报错。
3. Debug 调试
- 在 PyCharm 代码行左侧点击红点设置断点,右键选择 Debug,可步进查看变量实时变化。
📅 Day 7 - 序列类型常用方法
1. 列表 (List) - CRUD
- 增:
.append()(末尾追加),.insert(index, val)(插入),.extend()(合并序列)。 - 删:
.pop(index)(弹回被删值),.remove(val)(删首个匹配项),.clear(),del。 - 改: 索引修改
list[0] = v或切片修改。 - 查:
.index(),.count(),len()。 - 排序:
.sort(reverse=True/False)。
2. 字符串 (String)
- 特性: 不可变数据类型。
- 常用:
.replace(),.upper(),.lower(),.strip()(去空格),.split()(切割),.isdigit()(判断纯数字),.join()(拼接)。
📅 Day 8 - 散列类型 (Set & Dict)
1. 集合 (Set) {}
- 特性: 无序、去重、元素必须为不可变类型。
- 运算:
&(交集),|(并集),-(差集)。 - 方法:
.add(),.update(),.pop()(随机删)。
2. 字典 (Dict) {key: value}
- 特性: 键唯一且不可变,无序(通过键取值)。
- 常用方法:
.setdefault(): 键不存在则添加。.update({k: v}): 批量更新或添加。.get(key): 安全取值,不存在返回None。.keys(),.values(),.items()。
📅 Day 9 & 10 - 函数进阶与作用域
1. 函数参数
- 形参/实参: 位置对应。
- 默认参数:
def fun(a, b=10),默认参数必在右侧。 - 不定长参数:
*args: 接收多余位置参数,转为 元组。**kwargs: 接收多余关键字参数,转为 字典。
2. 返回值 return
- 结束函数并返回数据。若无
return,默认返回None。
3. 作用域与名称空间
- 三层空间: 内建 -> 全局 -> 局部。
- 关键字:
global: 在局部修改全局变量。nonlocal: 在嵌套函数中修改外层非全局变量。- 匿名函数:
lambda 参数: 表达式(自带 return)。
📅 Day 11 - 闭包与装饰器
1. 闭包 (Closure)
- 条件: 嵌套函数 + 内部调用外部变量 + 外部返回内部函数名。
- 作用: 保护私有变量,实现数据驻留。
2. 装饰器 (Decorator)
- 核心原理: 在不修改原函数源码及调用方式的前提下,为其增加新功能。
- 语法糖:
@装饰器名。
Python
def wrapper(func):
def inner(*args, **kwargs):
# 执行前功能
res = func(*args, **kwargs)
# 执行后功能
return res
return inner
📅 Day 13 - 迭代器、生成器与文件操作
1. 迭代器 (Iterator)
- 含有
__iter__()和__next__()方法。
2. 生成器 (Generator)
- 本质: 也是迭代器,但更省内存。
- 实现:
- 生成器表达式
(i for i in range(10))。 - 函数内使用
yield。代码执行到yield会暂停并返回值,下次调用从该位置继续。
3. 文件操作
- 模式:
r(读),w(覆盖写),a(追加),b(二进制)。 - 上下文管理器:
with open(...) as f:(自动关闭文件)。
📅 Day 14 & 15 - 模块、包与 MVC 模式
1. 模块化
- 导入:
import或from...import...。 - 程序入口:
if __name__ == '__main__':确保模块被导入时不自动执行测试代码。
2. 常用模块
time:time(),sleep(),strftime()。random:randint(),choice(),shuffle()。os:getcwd(),mkdir(),path.join(),path.exists()。json:dump/load(文件操作),dumps/loads(字符串转换)。
3. MVC 开发理念
- Model: 模型层,处理数据。
- View: 视图层,用户界面。
- Controller: 控制层,业务逻辑。
📅 Day 16 & 17 - ATM 项目实战架构
项目目录结构规范
Plaintext