如何检查类的给定实例是不是属于python中的主类? [复制]
Posted
技术标签:
【中文标题】如何检查类的给定实例是不是属于python中的主类? [复制]【英文标题】: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班吗?您是否试图排除子类的实例?您提出问题的方式听起来像是您已经知道您的对象是哪个类的实例。您的问题令人困惑。 请注意,虽然您当然可以检查对象的类型(或实例的类),但除非出于调试目的,否则这通常不是一个好主意,因为它非常不面向对象并且会使当您将来更改或尝试增强代码时,您的代码会更加“脆弱”(容易损坏)。 感谢大家的帮助 【参考方案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。
【讨论】:
以上是关于如何检查类的给定实例是不是属于python中的主类? [复制]的主要内容,如果未能解决你的问题,请参考以下文章