字典 与 Python 对象 的总结

字典 与 Python 对象 的总结

一、本质(最核心)

1. 字典(dict)

字典是 Python 自带的一种"数据结构"

用来存 key: value 键值对。

长得有标志性

python 复制代码
{ "key": value }

2. 对象(Object)

Python 里一切皆对象!

数字、字符串、函数、类实例、SimpleNamespace......全都是对象

比如:

能使用 .属性 的对象

python 复制代码
obj.name
obj.raw_text

二、字典(dict)总结

1. 长什么样

python 复制代码
{
    "name": "小明",
    "age": 20,
    "raw_text": "文本内容"
}

标志性符号:大括号 {}

2. 创建方式(全部)

① 字面量(最常用)

python 复制代码
d = {"name": "小明"}

② 空字典,后赋值

python 复制代码
d = {}
d["name"] = "小明"

③ dict() 函数

python 复制代码
d = dict(name="小明")

④ 可迭代对象创建

python 复制代码
d = dict([("name", "小明")])

3. 取值 / 赋值

必须用:方括号 ["key"]

python 复制代码
d["raw_text"]      # 取值
d["raw_text"] = 新值  # 赋值

4. 绝对不能做

python 复制代码
d.raw_text  # ❌ 报错:字典没有 . 属性

5. 特点

  • 属于数据容器
  • 用来存结构化数据
  • key 必须是不可变类型(字符串、数字等)
  • 只能用 \[\] 访问

三、对象(Object)总结

1. 什么是对象

Python 中所有东西都是对象

字典也是Python对象~

2. 能使用 .属性 的对象有哪些

① 类创建的对象(最标准)

python 复制代码
class Person:
    pass

p = Person()
p.name = "小明"
p.raw_text = "文本"

② 带构造函数的类对象

python 复制代码
class Person:
    def __init__(self, name):
        self.name = name

p = Person("小明")

③ SimpleNamespace 对象(官方简易对象)

python 复制代码
from types import SimpleNamespace
p = SimpleNamespace(name="小明")

④ 模块、函数、字符串、列表......全是对象

只是它们不一定能随便加 .属性

3. 对象取值 / 赋值

必须用:点 .

python 复制代码
obj.raw_text      # 取值
obj.raw_text = 新值 # 赋值

4. 绝对不能做

python 复制代码
obj["raw_text"]  # ❌ 报错:对象不能用 []

5. 对象的本质

  • 实例
  • 拥有 属性 + 方法
  • . 访问成员
  • 不是数据结构,是"实例"

四、字典 VS 对象 对比表

项目 字典 dict 对象 Object
外观符号 大括号 {} 无括号
访问方式 dict["key"] obj.key
创建方式 {}, dict() 类实例、SimpleNamespace
是否需要导入 不需要,Python 原生 类要定义,SimpleNamespace 需要导入
内部结构 key-value 映射表 属性存储在 dict
错误访问方式 dict.key → AttributeError obj["key"] → TypeError
本质 数据结构,用于存储数据 类的实例,表示一个"东西/实体"
灵活性 key 可随时增删 属性可动态增加(大部分对象)
你之前的报错 把字典当对象用 → 报错
相关推荐
星河漫步Lu1 小时前
Pycharm中部署Anaconda环境
ide·python·pycharm
qq_283720052 小时前
2026 最新 Python+AI 零基础入门全教程 :从零搭建人工智能完整项目
开发语言·人工智能·python
时尚IT男2 小时前
Python发票识别实战:从PDF中精准提取发票号与(小写)¥金额
开发语言·python·pdf
许彰午2 小时前
12_ArrayList与LinkedList深度对比
java·前端·python
CTA终结者2 小时前
期货量化环境装不上怎么办:天勤 TqSdk 安装与 Python 版本排查
开发语言·python
SilentSamsara2 小时前
Python 与 Docker:多阶段构建、最小镜像与健康检查
运维·开发语言·python·docker·中间件·容器
哈泽尔都3 小时前
运动控制教学——5分钟学会力控算法(阻抗/导纳/力位混合)
c++·python·算法·决策树·贪心算法·机器人·gpu算力
月疯3 小时前
PyTorch 中定义了一个 LeakyReLU 激活函数层
人工智能·pytorch·python