You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python:无需自定义类,能否创建带指定字段的对象?

无需自定义类创建带属性的对象的技巧

当然可以!Python里确实有不用手动写class定义就能快速创建带指定属性的对象的小技巧,而且不止一种,完全满足你的需求😎

方法一:使用types.SimpleNamespace(推荐)

这是Python 3.3+标准库提供的专门用于创建极简属性容器的工具,用法超直观:

import types
a = types.SimpleNamespace(s=2)
print(a.s)  # 输出: 2

它本质是一个极简的类,实例支持直接添加/修改属性,甚至自带友好的字符串表示,比自己写空类方便多了。

方法二:动态生成类并实例化

如果你不想导入模块,还可以用type函数直接动态生成一个临时类,然后实例化:

a = type('', (object,), {'s': 2})()

这里type的三个参数分别是:

  • 第一个空字符串:临时类的名称(不用在意,反正只是临时用)
  • 第二个元组(object,):指定父类为object
  • 第三个字典{'s':2}:直接定义类的属性,实例化后就自带s=2了

为什么a = None不行?

顺便提一句,None是NoneType的唯一实例,而Python的NoneType被设计为不可变且不允许添加属性,所以执行a.s=2会抛出AttributeError,但上面两种方法创建的都是普通的对象实例,支持属性操作。

这些技巧都不用你写一行class代码,完美解决你的需求!

内容的提问来源于stack exchange,提问作者duesterdust

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:56:21