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

如何在不创建类的情况下创建包含x、y属性的Python对象?

实现方法

下面几种简便方式都能满足你的需求,无需手动定义类:

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

这是Python标准库专门为创建简单属性对象提供的工具,用法直观且符合规范:

from types import SimpleNamespace

A = SimpleNamespace(x=1, y=2)
print(A.x, A.y)  # 输出 1 2

它支持直接修改、新增属性,和普通对象的使用逻辑完全一致。

方法2:直接实例化object并动态绑定属性

object是Python所有类的基类,它的实例支持动态添加属性:

A = object()
A.x = 1
A.y = 2
print(A.x, A.y)  # 输出 1 2

方法3:用type创建匿名类实例

通过type动态生成匿名类并直接实例化,一次性完成属性定义:

A = type('', (), {'x': 1, 'y': 2})()
print(A.x, A.y)  # 输出 1 2

这里type的三个参数分别是类名、继承的父类元组、类属性字典,末尾的()用于创建实例。

关于是否“取巧”

这些方法都不算取巧,尤其是SimpleNamespace是Python官方针对临时属性存储场景设计的工具,属于规范用法。如果只是需要一个临时的属性容器,完全没必要定义完整的类,用这类简便方式反而能减少冗余代码,提升开发效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 06:31:10