【问题标题】:isinstance - Python Classisinstance - Python 类
【发布时间】:2013-06-10 22:27:28
【问题描述】:

我有许多类,在实例化它们之前,我将它们作为对象传递给我的代码。我正在尝试以与测试对象实例的类型类似的方式测试类的类型,以锻炼使用哪一个。我应该提到这些类可以是彼此的子类。

不幸的是,以这种方式在类本身上使用isinstance(MyClass, MyClass) 会返回 False。根据文档,类对象的类型为type

所以我的问题是 - 我是否可以像使用实例类型一样锻炼类类型?我该怎么办?

【问题讨论】:

标签: python


【解决方案1】:

你到底想做什么?

如果你想知道A 是否是B 的子类,你可以使用issubclass

issubclass(A, B)

对于您的特定情况,您可以使用Myclass == MyClass 甚至MyClass is MyClass

一般来说,深度自省并不是一个好主意,通常留给像 Django 这样的通用框架。

【讨论】:

    猜你喜欢
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 2016-12-29
    • 2018-11-28
    • 1970-01-01
    相关资源
    最近更新 更多