python - 使用继承类确定 Python 类的类型

标签 python oop

我有多个类都继承自一个基类,这是一个简单的例子:

class DataSource(object):
    pass
class TableDataSource(DataSource):
    pass

如果我想确定这些类是否属于 DataSource 类型,我认为我可以执行以下操作:

>>> tdl = TableDataSource()
>>> print tdl is DataSource
False

所以我在这里返回 false,我如何检查是否所有从 DataSource 继承的类都是数据源类型对象,而不必专门检查每个类类型?这将使其他功能更容易检查对象类型。

谢谢。

最佳答案

关于 is 的事情是它正在测试两个对象是否引用相同的东西。 DataSource 该类是一个对象。因此,只有引用 DataSource 本身的东西才会比较真实。你应该使用的是像这样的 isinstance:

  isinstance(x, DataSource)

关于python - 使用继承类确定 Python 类的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21942578/

相关文章:

python - 项目 euler 1 的范围函数和/或语句 python 的建议

python - 抓取一些子链接,然后返回到主抓取

python - stats.scipy.chi2 返回值 0.0

python - 使用请求Python获取sessionId

php - 扩展 mysqli_result

javascript oo 编程语法对菜鸟的帮助

javascript - 如何使用 javascript 中的类以及这些类的对象集合?

javascript - JS调用没有方法的对象时调用函数

python - Boost.Python:如何公开 std::unique_ptr

delphi - 如何使用dunit的DUnitWizard中包含的XPObserver单元来实现观察者模式,甚至MVC模式?