🐍 Python 知识点总结
一、基础语法与变量核心
(一)变量类型与特性
1. 变量类型推导
Python 是动态类型语言,变量类型无需显式声明,由赋值自动推导 ✨
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. 字符串核心特性
- 引号通用 :单引号
' '、双引号" "、三引号''' '''/""" """(多行字符串)本质无区别 📝
python
# 三种引号等效
str1 = 'hello'
str2 = "hello"
str3 = '''hello
python''' # 多行字符串
- 原始字符串 :
r''取消所有转义字符,处理文件路径、正则必用 🛡️
python
# 普通字符串需转义
path = "C:\\Users\\Python\\file.txt"
# 原始字符串直接写
path = r"C:\Users\Python\file.txt"
- 字符串与字节串 :
str是字符序列,bytes是二进制字节序列(b''标识)🔢
python
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 专属交换语法
无需临时变量,一行代码完成交换 ✨
python
x = 20
y = 10
x, y = y, x # 直接交换,结果x=10,y=20
二、数据类型核心操作(附实战示例)
(一)输入输出(I/O)
1. 输出:print()
基础输出,支持多参数、格式化输出 🖨️
python
name = "Python"
version = 3.11
print("版本:", version) # 多参数输出
print(f"语言:{name},版本:{version}") # f-string格式化(推荐)
2. 输入:input()
阻塞式输入,默认返回str类型,需转型/用eval()计算 📥
python
# 基础输入
age = input("请输入年龄:") # age是str类型
# 数值计算输入
n1, n2 = eval(input("请输入两个整数(逗号分隔):")) # 输入10,20 → n1=10,n2=20
result = n1 + n2
print("和为:", 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()直接修改原列表
python
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()不修改原列表,返回新列表
python
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. 常用操作
python
# 定义元组
info = ("Python", 3.11, "Windows")
# 访问元素(与列表一致)
print(info[0]) # 输出Python
# 不可修改(报错)
# info[0] = "Java" # 触发TypeError
(四)字典(dict)------ 键值对高效存储 🔑
1. 核心特性
- 存储结构:
key-value键值对,key唯一且不可变,value可任意类型 - 优势:通过key快速查询,效率O(1),适合存储对象、配置信息
2. 核心操作
python
# 定义字典
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. 去重实战
python
# 列表去重(集合核心用途)
nums = [1,2,2,3,3,3]
unique_nums = list(set(nums)) # 先转集合去重,再转回列表 → [1,2,3]