【问题标题】:Python: get name of actual run-time class from parent class method [duplicate]Python:从父类方法获取实际运行时类的名称[重复]
【发布时间】:2018-08-01 04:21:18
【问题描述】:

以下已编辑的原始问题。
正如 @MiH 所指出的,这个问题与Get subclass name? 几乎相同


有没有办法获取对象的实际/运行时类的名称,而不是定义方法的类的名称?

我在派生类对象上调用基类方法(此类对象不会覆盖该方法),o.__class__.__name__ 给了我基类的类的名称,而不是运行时类的名称。

显然我想避免在每个派生类中定义一个方法只是为了获取它的类名,问题的目的是知道是否有办法避免这种情况。

【问题讨论】:

  • 我认为这是这个问题的重复:stackoverflow.com/questions/3314627/get-subclass-name
  • 我不确定我是否在关注……方法在哪里?如果您有一个对象o - 那么大概就是您想要的对象类型,就是这样?
  • 所以你说oDerivedClass 类型,而o.__class__.__name__BaseClass?我不认为这是可能的。给我们看一些代码。
  • @MiH 你是对的,事实上它是重复的

标签: python python-3.x class inheritance introspection


【解决方案1】:

我的问题的完整答案是

1) 关键:@MiH 表示的答案:Get subclass name?,选择的答案开始于 “从对象中继承为您提供了新型类...”
其他答案是通常的 __class__.__name__ ,它适合这个和那个问题

2)琐碎的迂腐位:添加 .__name__ ,即。类型(自我).__name__

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多