🐍 Python 知识点总结
一、基础语法与变量核心
(一)变量类型与特性
1. 变量类型推导
Python 是动态类型语言,变量类型无需显式声明,由赋值自动推导 ✨
# 自动推导示例num=10# 自动识别为int类型name="Python"# 自动识别为str类型price=9.9# 自动识别为float类型2. 数据类型存储字节
| 数据类型 | 字节数 | 特点 |
|---|---|---|
| int(整型) | 4字节(32位) | 基础整数类型,覆盖常用数值范围 |
| long(长整型) | 8字节 | 超大整数存储(Python3中已整合int,无单独long) |
| float(浮点型) | 4字节 | 单精度小数,满足常规计算 |
| double(双精度浮点) | 8字节 | 高精度小数,科学计算常用 |
3. 字符串核心特性
- 引号通用:单引号
' '、双引号" "、三引号''' '''/""" """(多行字符串)本质无区别 📝
# 三种引号等效str1='hello'str2="hello"str3='''hello python'''# 多行字符串- 原始字符串:
r''取消所有转义字符,处理文件路径、正则必用 🛡️
# 普通字符串需转义path="C:\\Users\\Python\\file.txt"# 原始字符串直接写path=r"C:\Users\Python\file.txt"- 字符串与字节串:
str是字符序列,bytes是二进制字节序列(b''标识)🔢
str_data="hello"# str类型bytes_data=b'hello'# bytes类型(二)取整/取余与位运算
1. 除法与取余操作
| 操作符 | 名称 | 示例 | 结果 |
|---|---|---|---|
/ | 浮点除 | 10/3 | 3.3333333333333335 |
// | 整除 | 10//3 | 3 |
% | 取余 | 10%3 | 1 |
divmod() | 商余一体 | divmod(10,3) | (3, 1) |
2. 位运算技巧
位运算直接操作二进制,效率极高 ⚡
| 操作符 | 名称 | 规则 | 等效运算 |
|---|---|---|---|
^ | 异或 | 相同为0,不同为1 | - |
<< | 左移 | 二进制左移n位 | 数值×2ⁿ |
>> | 右移 | 二进制右移n位 | 数值÷2ⁿ(整数除法) |
3. Python 专属交换语法
无需临时变量,一行代码完成交换 ✨
x=20y=10x,y=y,x# 直接交换,结果x=10,y=20二、数据类型核心操作(附实战示例)
(一)输入输出(I/O)
1. 输出:print()
基础输出,支持多参数、格式化输出 🖨️
name="Python"version=3.11print("版本:",version)# 多参数输出print(f"语言:{name},版本:{version}")# f-string格式化(推荐)2. 输入:input()
阻塞式输入,默认返回str类型,需转型/用eval()计算 📥
# 基础输入age=input("请输入年龄:")# age是str类型# 数值计算输入n1,n2=eval(input("请输入两个整数(逗号分隔):"))# 输入10,20 → n1=10,n2=20result=n1+n2print("和为:",result)# 输出30(二)列表(list)—— 可变序列王者 📊
1. 列表定义与核心操作
| 操作 | 方法 | 示例 | 说明 |
|---|---|---|---|
| 定义 | []/list() | alist = [1,2,3] | 最常用创建方式 |
| 增加 | append() | alist.append(4) | 末尾添加元素 |
| 增加 | insert(index, val) | alist.insert(0, 0) | 指定下标插入 |
| 删除 | pop(index) | alist.pop(1) | 删除指定下标元素(默认最后一个) |
| 删除 | remove(val) | alist.remove(2) | 删除第一个匹配元素 |
| 修改 | 下标赋值 | alist[0] = 666 | 直接修改指定位置元素 |
| 查看 | 切片 | alist[1:4:1] | 截取子序列 [start:stop:step] |
2. 列表排序
两种排序方式核心区别 🎯
- 原地排序:
list.sort()直接修改原列表
nums=[3,1,4,2]nums.sort()# 升序 [1,2,3,4]nums.sort(reverse=True)# 降序 [4,3,2,1]nums.reverse()# 反转列表 [2,4,1,3]- 新建排序:
sorted()不修改原列表,返回新列表
nums=[3,1,4,2]new_nums=sorted(nums)# 升序,原列表不变new_nums_desc=sorted(nums,reverse=True)# 降序新列表(三)元组(tuple)—— 不可变安全序列 🛡️
1. 核心特性
- 定义:
tuple = (1,2,3,4,5),元素不可修改 - 优势:保证数据传输/存储中不被篡改,适合常量、函数返回值、字典键(需可哈希)
2. 常用操作
# 定义元组info=("Python",3.11,"Windows")# 访问元素(与列表一致)print(info[0])# 输出Python# 不可修改(报错)# info[0] = "Java" # 触发TypeError(四)字典(dict)—— 键值对高效存储 🔑
1. 核心特性
- 存储结构:
key-value键值对,key唯一且不可变,value可任意类型 - 优势:通过key快速查询,效率O(1),适合存储对象、配置信息
2. 核心操作
# 定义字典student={"name":"张三","age":20,"score":90}# 1. 修改值student["score"]=95# 覆盖原有key的value# 2. 新增键值对student["gender"]="男"# 3. 查询数据print(student.keys())# 获取所有key → dict_keys(['name', 'age', 'score', 'gender'])print(student.values())# 获取所有value → dict_values(['张三', 20, 95, '男'])print(student.items())# 获取所有键值对 → dict_items([('name', '张三'), ('age', 20), ('score', 95), ('gender', '男')])# 4. 安全获取(避免key不存在报错)print(student.get("address","未知"))# 输出未知,key不存在时返回默认值(五)集合(set)—— 去重与数学运算神器 🧮
1. 核心特性
- 定义:
set()或{1,2,3},元素唯一,无重复值 - 无序性:不支持下标访问,适合去重、集合运算
2. 常用集合运算
| 运算 | 操作符 | 方法 | 示例(A={1,2,3}, B={3,4,5}) |
|---|---|---|---|
| 交集 | & | intersection() | A&B → {3} |
| 并集 | ` | ` | union() |
| 差集 | - | difference() | A-B → {1,2} |
| 对称差集 | ^ | symmetric_difference() | A^B → {1,2,4,5} |
3. 去重实战
# 列表去重(集合核心用途)nums=[1,2,2,3,3,3]unique_nums=list(set(nums))# 先转集合去重,再转回列表 → [1,2,3]