【问题标题】:how can I check if a given instance of a class belongs to a main class in python? [duplicate]如何检查类的给定实例是否属于python中的主类? [复制]
【发布时间】:2016-07-02 18:20:21
【问题描述】:

假设你有:

class F:
    pass

然后你创建一个实例:

g=F()

如何检查实例 g 是否派生自主类 F?

【问题讨论】:

  • “主班”F?相对于什么?你在某个地方有另一个F班吗?您是否试图排除子类的实例?您提出问题的方式听起来像是您已经知道您的对象是哪个类的实例。您的问题令人困惑。
  • 请注意,虽然您当然可以检查对象的类型(或实例的类),但除非出于调试目的,否则这通常不是一个好主意,因为它非常不面向对象并且会使当您将来更改或尝试增强代码时,您的代码会更加“脆弱”(容易损坏)。
  • 感谢大家的帮助

标签: python


【解决方案1】:

你可以这样做:

if isinstance(obj, MyClass):
     print "obj is my object"

所以对于你的例子:

if isinstance(g, F):
    print "obj is my object"

使用此功能后果自负,有时是Easier to Ask Forgiveness than Permission

【讨论】:

    猜你喜欢
    • 2012-06-30
    • 1970-01-01
    • 2015-02-19
    • 2011-01-25
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多