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]
相关推荐
AI砖家11 分钟前
Claude Code Superpowers 安装使用指南:让 AI 编程从“业余”走向“工程化”
前端·人工智能·python·ai编程·代码规范
承渊政道27 分钟前
【动态规划算法】(完全背包问题从状态定义到空间优化)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
计算机毕业编程指导师28 分钟前
【计算机毕设推荐】Python+Spark卵巢癌风险数据可视化系统完整实现 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
hadoop·python·计算机·数据挖掘·spark·毕业设计·卵巢癌
玩转单片机与嵌入式30 分钟前
学习嵌入式AI(TInyML),只需掌握这点python基础即可!
人工智能·python·学习
少年执笔33 分钟前
ollama搭建本地模型框架
python·ai
极光代码工作室36 分钟前
基于大数据的校园消费行为分析系统
大数据·hadoop·python·数据分析·spark
ErizJ39 分钟前
Linux|学习笔记
linux·笔记·学习
大数据三康1 小时前
Java字符统计:从输入到输出的完整解析
java·学习·循环结构
952361 小时前
SpringAOP
java·后端·学习·spring