Python学习笔记·第18天——Python 基础合集
2026/6/19 9:14:58 网站建设 项目流程

Python 基础合集:从零基础到文件操作

本合集涵盖了我从零开始学习 Python 的完整笔记,内容包括:基础语法、数据类型、流程控制、函数、面向对象、高级特性、文件操作等核心模块。每个部分均可独立阅读,也可以按顺序系统学习。

第1章:初识 Python —— 注释与交互模式

1.1 注释的核心作用

  • 解释代码的功能、逻辑,方便自己与他人理解代码
  • 临时屏蔽调试代码,无需删除
  • 标注代码作者、修改时间、注意事项等

1.2 单行注释

使用#开头,仅限当前行,适合简短说明。

# 这是单行注释print("hello,world")

1.3 多行注释(文档注释)

使用三个引号(单/双均可)实现,适合长段说明。

""" 这是多行注释(用三个双引号) """''' 这也是多行注释 也叫文档注释 '''

1.4 文档字符串(Docstring)

为函数/类写文档,可通过__doc__help()查看。

defadd(a,b):"""计算两个数的和。参数 a, b 为数字,返回 a+b 的结果"""returna+b

1.5 交互模式

  • 进入:终端输入pythonpython3
  • 退出exit()Ctrl+Z/Ctrl+D
  • 适用场景:验证基础语法、快速测试、临时计算
  • 不适用场景:复杂项目开发、需保存代码的场景

第2章:程序的“记忆”——变量与常量

2.1 变量的定义与赋值

变量是存储数据的“容器”,值可以随时修改。Python 无需声明类型,直接用=赋值。

age=18name="小明"height=1.75

2.2 变量命名规则

  • 只能由字母、数字、下划线组成,不能以数字开头
  • 不能使用 Python 关键字(如ifforprint等)
  • 严格区分大小写
  • 建议使用“小写字母 + 下划线”命名(如user_name

2.3 变量的核心特性

  • 动态类型:同一个变量可以存储不同类型的数据
  • 引用赋值:变量存储的是数据的“引用”(内存地址),而非数据本身

2.4 常量

Python 没有原生的常量类型,通过“约定俗成”的方式定义:变量名全部大写,用下划线分隔。

MAX_SPEED=120# 约定为常量,不应修改

第3章:数据的“身份”——数据类型

3.1 数据类型总览

  • 基本数据类型:整数int、浮点数float、字符串str、布尔值bool
  • 复合数据类型:列表list、元组tuple、字典dict、集合set

3.2 基本数据类型

age=18# 整数price=99.9# 浮点数name="小明"# 字符串is_student=True# 布尔值

3.3 类型检查与转换

print(type(100))# 检查类型print(int("123"))# 字符串 → 整型print(float("99.9"))# 字符串 → 浮点

第4章:程序的“宪法”——标识符与关键字

4.1 标识符命名规则

  • 只能以字母、下划线开头,后续可跟字母、数字、下划线
  • 严格区分大小写
  • 不能使用 Python 关键字

4.2 Python 常用关键字

ifelseelifforwhilebreakcontinuedefclassimportreturnTrueFalseNoneandornotinis

第5章:程序的“窗口”——输入与输出

5.1 print() 函数

print("hello")print(1,2,3,sep=",")# 自定义分隔符print("hi",end=" ")# 自定义结尾符,不换行

5.2 格式化输出

name="云生"print(f"姓名:{name}")# f-string(推荐)print("姓名:{}".format(name))# format()

5.3 input() 函数

name=input("请输入姓名:")age=int(input("请输入年龄:"))# 需要类型转换

5.4 多值输入

x,y=map(int,input("输入两个数:").split(","))

第6章:程序的“选择”——判断语句

  • 单分支if 条件:
  • 双分支if...else...
  • 多分支if...elif...else...
ifscore>=90:print("优秀")elifscore>=60:print("及格")else:print("不及格")

注意0、空字符串、空列表、空字典、None转为False,其余为True

第7章:程序的“循环”——for 与 while

7.1 for 循环(固定次数遍历)

fornamein['苹果','香蕉']:print(name)foriinrange(1,6):print(i)

7.2 while 循环(条件驱动)

i=1whilei<=5:print(i)i+=1

7.3 循环控制

  • break:立即终止整个循环
  • continue:跳过当前轮,进入下一轮循环
  • pass:占位符,无实际功能

第8章:字符串的“魔法”——操作与方法

8.1 索引与切片

s="Python编程"s[0]# 'P's[-1]# '程's[0:6]# 'Python's[::-1]# '程编nohtyP'(反转字符串)

8.2 常用方法

方法作用示例
strip()去除首尾空格" py ".strip()"py"
replace()替换子串"py".replace("p","P")"Py"
split()分割成列表"a,b".split(",")["a","b"]
join()连接列表为字符串"-".join(["a","b"])"a-b"

8.3 转义字符

\n换行、\t制表、r前缀表示原始字符串。

第9章:四大容器——列表、元组、字典、集合

9.1 列表(list)

  • 符号:[],有序、可变、可重复
  • 操作:索引切片、append()extend()+组合、*重复、in判断

9.2 元组(tuple)

  • 符号:(),有序、不可变、可重复
  • 单元素元组必须加逗号:(50,)

9.3 字典(dict)

  • 符号:{key:val},键唯一且不可变
  • 操作:dict[key]get()、遍历keys()/values()/items()

9.4 集合(set)

  • 符号:{},无序、不可重复、自动去重
  • 运算:并集|、交集&、差集-、对称差集^

第10章:一行代码的“魔法”——推导式

# 列表推导式nums=[i*2foriinrange(5)]# [0,2,4,6,8]# 字典推导式data={i:i*2foriinrange(1,5)}# {1:2, 2:4, 3:6, 4:8}# 集合推导式data={iforiin[1,2,2,3]}# {1,2,3}(自动去重)# 生成器表达式gen=(iforiinrange(1000000))# 惰性计算,省内存

第11章:数据的“拆解”——拆包

# 基础拆包x,y=(10,20)# * 号收集剩余元素one,*rest=[1,2,3,4]# one=1, rest=[2,3,4]# 字典拆包a,b=data.values()# 函数参数拆包func(*[1,2])# 列表元素作为位置参数传入func(**{'name':'xx','age':18})# 字典键值作为关键字参数传入

第12章:数据的“复制”——深浅拷贝

操作创建新外层容器嵌套可变对象共享修改嵌套影响原数据
直接赋值完全共享影响
浅拷贝共享影响
深拷贝不共享不影响
  • 浅拷贝:只复制外层,内部嵌套可变对象仍共享
  • 深拷贝:完全独立,修改任何层级互不影响

第13章:代码的“积木”——函数

13.1 定义与调用

defadd(a,b):"""返回两数之和"""returna+b result=add(1,2)

13.2 参数类型

  • 位置参数(必须按顺序)
  • 默认参数(def fn(name, age=18)
  • 关键字参数(fn(age=20, name="张三")
  • *args:任意数量位置参数,打包成元组
  • **kwargs:任意数量关键字参数,打包成字典

13.3 匿名函数(lambda)

add=lambdaa,b:a+b

第14章:面向对象(上)——类与对象

classStudent:school="第一中学"# 类属性(共享)def__init__(self,name,age):self.name=name# 实例属性(独立)self.age=agedefshow(self):# 实例方法print(f"{self.name},{self.age}")@classmethoddefchange_school(cls,name):# 类方法cls.school=name@staticmethoddefadd(x,y):# 静态方法returnx+y

第15章:面向对象(下)——继承与方法重写

15.1 继承

classDog(Animal):# Dog 继承 Animalpass

15.2 方法重写

子类定义与父类同名方法,覆盖父类逻辑。用super()调用父类方法。

15.3 私有属性/方法

__xxx双下划线开头,外部不可直接访问(名称改写机制)。

15.4 专有方法(魔术方法)

__init____str____add____getitem__等,由 Python 自动触发。

第16章:三器一闭——迭代器、生成器、装饰器、闭包

16.1 迭代器

  • iter()next()
  • 实现__iter__()__next__()方法

16.2 生成器

  • yield关键字,自动实现迭代器协议
  • 惰性计算,节省内存

16.3 闭包

  • 嵌套函数 + 内层引用外层变量 + 外层返回内层函数
  • 核心价值:状态保留、数据封装

16.4 装饰器

  • 本质是“函数的函数”,用@decorator语法糖
  • 应用场景:日志记录、性能计时、权限验证

第17章:程序的“保险”——异常处理

try:result=10/0exceptZeroDivisionError:print("除数不能为0")exceptExceptionase:print(f"出错了:{e}")else:print("无异常时执行")finally:print("无论是否异常都执行")

第18章:代码的“组织”——模块与包

18.1 模块导入

importmathfrommathimportsqrtimportmathasm

18.2 自定义模块

  • __name__:判断模块是被执行还是被导入
  • __all__:控制from 模块 import *的导出内容

18.3 包

一个包含__init__.py的文件夹,通过.确认层级关系。

18.4 pip 安装

pipinstallpygame-ihttps://pypi.tuna.tsinghua.edu.cn/simple/

第19章:数据的“家”——文件操作

19.1 文件写入

withopen("test.txt","w",encoding="utf-8")asf:f.write("Hello World")

19.2 文件读取

withopen("test.txt","r",encoding="utf-8")asf:print(f.read())# 读取全部print(f.readline())# 读取一行print(f.readlines())# 每行作为列表元素

19.3 文件打开模式

  • r:读模式
  • w:写模式(覆盖)
  • a:追加模式
  • b:二进制模式
  • +:读写模式

19.4 CSV 文件操作

importcsvwithopen("data.csv")asf:reader=csv.reader(f)forrowinreader:print(row)

合集说明

本合集涵盖了 Python 基础的全部核心模块。每个章节都可以独立阅读,也适合作为快速查阅的参考手册。后续将继续更新数据分析(NumPy、Pandas、Matplotlib)和机器学习相关内容。

注:已经使用DeepSeek进行整理精简核心内容,些许不理解的配合个人笔记进行理解。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询