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):
python
print(f"我叫{name},今年{age}岁")
类型转换
input() 读入的内容永远是字符串。计算前常要转换:
python
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 个空格)表示代码块,不是花括号 {}:
python
score = 85
if score >= 90:
print("等级:A")
elif score >= 80:
print("等级:B")
elif score >= 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) |
python
for i in range(5):
print(i)
遍历列表
python
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(fruit)
break 和 continue
| 关键字 | 作用 |
|---|---|
| break | 立刻退出整个循环 |
| continue | 跳过本次,进入下一轮 |
六、while 循环
while 和 for 的区别
| for | while | |
|---|---|---|
| 适用场景 | 已知要循环多少次 | 不知道要循环多少次,直到条件满足 |
| 典型用法 | 遍历 1~100 | 用户反复输入直到猜对 |
python
while 条件: # 条件为 True 就一直执行 # 条件变 False 就退出
避免死循环
如果条件永远为 True,程序会一直跑下去,Ctrl+C 才能停:
python
# ❌ 死循环
while True:
print("永远执行")
七、列表 list
列表(list) 用来存一组有序的数据,例如多个水果名、多个分数。
特点
- 有序 --- 元素有先后位置
- 可变 --- 可以增删改
- 可重复 --- 同一个值可以出现多次
索引
| 索引 | 元素 |
|---|---|
| 0 | 第一个 |
| 1 | 第二个 |
| -1 | 最后一个 |
| -2 | 倒数第二个 |
python
fruits = ["苹果", "香蕉", "橙子"] # 直接写
empty = [] # 空列表
numbers = list() # 也是空列表
切片:取一段
python
nums = [0, 1, 2, 3, 4, 5]
print(nums[1:4]) # [1, 2, 3] 取索引 1 到 3
print(nums[:3]) # [0, 1, 2] 从头到索引 2
print(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),像前端中的对象。
python
user = {"name": "yiyi", "age": 18}
print(user["name"]) # yiyi
print(user.get("name")) # yiyi(更安全)
print(user.get("hobby")) # None(key 不存在也不报错)
print(user.get("hobby", "无")) # 无(可设默认值)
user["city"] = "上海" # 新增
user["age"] = 19 # 修改
del user["city"] # 删除
for key, value in user.items():
print(f"{key}: {value}")
九、tuple、set 与数据结构组合
tuple(元组)
元组像列表,但创建后不能修改:
python
point = (10, 20) # 坐标
colors = ("红", "绿", "蓝")
print(point[0]) # 10
# point[0] = 5 # ❌ 报错!元组不可变
set(集合)
集合无序、元素不重复:
python
tags = {"Python", "AI", "Python"} # 重复的 Python 只保留一个
print(tags) # {'Python', 'AI'}
tags.add("Agent")
tags.remove("AI")
十、函数 def
python
def 函数名(参数1, 参数2): # 函数体
return 返回值
十一、文件读写
open() 与 with(推荐写法)
python
with open("my_note.txt", "w", encoding="utf-8") as f:
f.write("第一行内容\n")
f.write("第二行内容\n")
python
with open("my_note.txt", "r", encoding="utf-8") as f:
content = f.read() # 读全部内容为一个字符串
print(content)
lines = f.readlines() # 读全部行,返回列表
for line in lines:
print(line.strip()) # strip() 去掉行末换行符
open() 参数
| 参数 | 含义 |
|---|---|
| "w" | 写入(覆盖原文件) |
| "r" | 读取 |
| "a" | 追加(在末尾添加) |
| encoding="utf-8" | 支持中文 |
十二、JSON 与模块 import
使用标准库或第三方库前先导入:
python
import json # 导入整个模块
data = json.loads('{"name": "yiyi"}')
from json import load, 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)。