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

Python如何获取类属性所属的类名或完整类属性标识

实现方案
  • 方法1:使用__qualname__直接获取带类名的完整属性路径
    Python 3.3及以上版本内置的__qualname__属性会展示类成员的完整层级路径,无需额外封装逻辑,完全适配你的需求。
    运行示例:
class Test:
    __slots__ = ['a', 'b']

# 直接获取「类名.属性名」格式的结果
print(Test.a.__qualname__) 
# 输出:Test.a

# 分割字符串即可单独提取所属类名
print(Test.a.__qualname__.split('.')[0])
# 输出:Test
  • 方法2:使用__objclass__获取属性所属的类对象
    如果你后续需要操作属性所属的类本身,而不只是获取类名字符串,可以直接调用插槽成员自带的__objclass__属性:
class Test:
    __slots__ = ['a', 'b']

# 直接获取属性所属的类对象
owner_class = Test.a.__objclass__
print(owner_class)
# 输出:<class '__main__.Test'>

# 从类对象中提取类名
print(owner_class.__name__)
# 输出:Test

注意:以上方法仅适用于__slots__定义的成员、类方法、类内嵌套类等类层级成员。如果是普通的类属性(比如类内直接定义a = 1),属性本身是通用数据类型,没有内置的所属类标记,需要单独封装逻辑实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:36:06