Python 学习笔记
一、Python 是什么?
Python 是一种编程语言。你写的代码保存在 .py 文件里,由 Python 解释器 读取并执行。
可以把它理解成:
你写的代码(.py 文件) → Python 解释器执行 → 电脑输出结果认识终端(PowerShell)
终端是用文字操作电脑的地方。
| 命令 | 作用 | 示例 |
|---|---|---|
| cd 路径 | 进入某个文件夹 | cd D:\yunyanshijie\skill_test\python_study |
| dir | 查看当前文件夹里有什么 | dir |
| python 文件名.py | 运行 Python 程序 | python code\stage1\01_hello.py |
二、变量与类型
变量
变量名 = 变量值,如:name=yiyi
四种基本类型
| 类型 | 英文 | 示例 | 说明 |
|---|---|---|---|
| 整数 | int | 18、100 | 没有小数点的数 |
| 浮点数 | float | 1.75、3.14 | 有小数点的数 |
| 字符串 | str | “yiyi”、‘hello’ | 文字,单/双引号均可 |
| 布尔值 | bool | True、False | 真 / 假 |
f-string 格式化
拼接文字和变量,推荐用 f-string(字符串前加 f):
print(f"我叫{name},今年{age}岁")类型转换
input() 读入的内容永远是字符串。计算前常要转换:
num_str=input("请输入一个数字:")# 用户输入 123,得到的是 "123"(字符串)num_int=int(num_str)# 字符串 → 整数print(num_int+10)# 输出 133常用转换:
- int(x) — 转成整数
- float(x) — 转成浮点数
- str(x) — 转成字符串
三、运算符
算术运算符
对数字做运算:
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
| - | 加 | 3 + 2 | 5 |
| * | 减 | 5 - 2 | 3 |
| - | 乘 | 4 * 3 | 12 |
| / | 除(结果是 float) | 7 / 2 | 3.5 |
| // | 整除(舍去小数) | 7 // 2 | 3 |
| % | 取余 | 7 % 2 | 1 |
| ** | 幂 | 2 ** 3 | 8 |
比较运算符
比较两个值,结果是 True 或 False:
| 运算符 | 含义 | 示例 |
|---|---|---|
| == | 等于 | 5 == 5 → True |
| != | 不等于 | 5 != 3 → True |
| > | 大于 | 5 > 3 → True |
| < | 小于 | 5 < 3 → False |
| >= | 大于等于 | 5 >= 5 → True |
| <= | 小于等于 | 3 <= 5 → True |
逻辑运算符
组合多个条件:
| 运算符 | 含义 | 示例 |
|---|---|---|
| and | 两个都为真 | True and False → False |
| or | 至少一个为真 | True or False → True |
| not | 取反 | not True → False |
四、条件语句 if / elif / else
Python 用缩进(通常 4 个空格)表示代码块,不是花括号 {}:
score=85ifscore>=90:print("等级:A")elifscore>=80:print("等级:B")elifscore>=60:print("等级:C")else:print("等级:D")五、循环 for 与 range
for + range()
range(n) 生成从 0 到 n-1 的整数序列:
常用形式:
| 写法 | 生成的数 |
|---|---|
| range(5) | 0, 1, 2, 3, 4 |
| range(1, 6) | 1, 2, 3, 4, 5 |
| range(0, 11, 2) | 0, 2, 4, 6, 8, 10(步长为 2) |
foriinrange(5):print(i)遍历列表
fruits=["苹果","香蕉","橙子"]forfruitinfruits:print(fruit)break 和 continue
| 关键字 | 作用 |
|---|---|
| break | 立刻退出整个循环 |
| continue | 跳过本次,进入下一轮 |
六、while 循环
while 和 for 的区别
| for | while | |
|---|---|---|
| 适用场景 | 已知要循环多少次 | 不知道要循环多少次,直到条件满足 |
| 典型用法 | 遍历 1~100 | 用户反复输入直到猜对 |
while条件:# 条件为 True 就一直执行 # 条件变 False 就退出避免死循环
如果条件永远为 True,程序会一直跑下去,Ctrl+C 才能停:
# ❌ 死循环whileTrue:print("永远执行")七、列表 list
列表(list) 用来存一组有序的数据,例如多个水果名、多个分数。
特点
- 有序 — 元素有先后位置
- 可变 — 可以增删改
- 可重复 — 同一个值可以出现多次
索引
| 索引 | 元素 |
|---|---|
| 0 | 第一个 |
| 1 | 第二个 |
| -1 | 最后一个 |
| -2 | 倒数第二个 |
fruits=["苹果","香蕉","橙子"]# 直接写empty=[]# 空列表numbers=list()# 也是空列表切片:取一段
nums=[0,1,2,3,4,5]print(nums[1:4])# [1, 2, 3] 取索引 1 到 3print(nums[:3])# [0, 1, 2] 从头到索引 2print(nums[2:])# [2, 3, 4, 5] 从索引 2 到末尾规则:[开始:结束],结束位置不包含在内(和 range 一样)。
常用方法
| 方法 | 作用 | 示例 |
|---|---|---|
| append(x) | 末尾追加 | fruits.append(“葡萄”) |
| remove(x) | 删除第一个值为 x 的元素 | fruits.remove(“香蕉”) |
| pop() | 删除并返回最后一个 | last = fruits.pop() |
| len(lst) | 列表长度 | len(fruits) |
八、字典 dict
字典(dict) 存的是 键值对(key: value),像前端中的对象。
user={"name":"yiyi","age":18}print(user["name"])# yiyiprint(user.get("name"))# yiyi(更安全)print(user.get("hobby"))# None(key 不存在也不报错)print(user.get("hobby","无"))# 无(可设默认值)user["city"]="上海"# 新增user["age"]=19# 修改deluser["city"]# 删除forkey,valueinuser.items():print(f"{key}:{value}")九、tuple、set 与数据结构组合
tuple(元组)
元组像列表,但创建后不能修改:
point=(10,20)# 坐标colors=("红","绿","蓝")print(point[0])# 10# point[0] = 5 # ❌ 报错!元组不可变set(集合)
集合无序、元素不重复:
tags={"Python","AI","Python"}# 重复的 Python 只保留一个print(tags)# {'Python', 'AI'}tags.add("Agent")tags.remove("AI")十、函数 def
def函数名(参数1,参数2):# 函数体return返回值十一、文件读写
open() 与 with(推荐写法)
withopen("my_note.txt","w",encoding="utf-8")asf:f.write("第一行内容\n")f.write("第二行内容\n")withopen("my_note.txt","r",encoding="utf-8")asf:content=f.read()# 读全部内容为一个字符串print(content)lines=f.readlines()# 读全部行,返回列表forlineinlines:print(line.strip())# strip() 去掉行末换行符open() 参数
| 参数 | 含义 |
|---|---|
| “w” | 写入(覆盖原文件) |
| “r” | 读取 |
| “a” | 追加(在末尾添加) |
| encoding=“utf-8” | 支持中文 |
十二、JSON 与模块 import
使用标准库或第三方库前先导入:
importjson# 导入整个模块data=json.loads('{"name": "yiyi"}')fromjsonimportload,dump# 只导入需要的函数| 函数 | 作用 |
|---|---|
| json.dumps(obj) | Python 对象 → JSON 字符串 |
| json.loads(str) | JSON 字符串 → Python 对象 |
| json.dump(obj, f) | Python 对象 → 写入文件 |
| json.load(f) | 从文件读取 → Python 对象 |
记忆:dump/load 配合文件,dumps/loads 配合字符串(末尾 s = string)。