python学习笔记(基础语法与变量、容器)

🐍 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]
相关推荐
做cv的小昊2 小时前
【TJU】研究生应用统计学课程笔记(1)——第一章 数理统计的基本知识(1.1 数理统计的基本内容、1.2 数理统计的基本概念)
笔记·线性代数·考研·数学建模·ai·矩阵·概率论
橙露2 小时前
Python 正则表达式:文本清洗与信息提取速通手册
python·正则表达式·easyui
Lyyaoo.2 小时前
【JAVA基础面经】进程间的通信方式
java·开发语言·python
sheeta19982 小时前
LeetCode 每日一题笔记 日期:2026.04.13 题目:1848.到目标元素的最小距离
笔记·算法·leetcode
henrylin99992 小时前
Hermes Agent 06. 技能、记忆与上下文文件
人工智能·python·机器学习·hermes·hermesagent
江苏世纪龙科技2 小时前
世纪龙-安全先行,技能进阶—新能源汽车故障诊断虚拟实训软件
学习
qingwufeiyang_5302 小时前
Mybatis学习笔记-1-快速入门
笔记·学习·mybatis
Orange_sparkle2 小时前
learn claude code学习记录-S04
学习
Tisfy2 小时前
LeetCode 1848.到目标元素的最小距离:数组遍历(附python一行版)
python·leetcode·题解·遍历