我有一个物体,它是其中之一
statsmodels.genmod.generalized_linear_model.GLMResultsWrapper
statsmodels.regression.linear_model.RegressionResultsWrapper
statsmodels.base.elastic_net.RegularizedResultsWrapper
或
sklearn.ensemble._gb.GradientBoostingClassifier
sklearn.ensemble._forest.RandomForestClassifier
我正在尝试使用
isinstance()
来喜欢下面的内容:
if isinstance(my_obj, statsmodel_type_class):
do sth
elif isinstance(my_obj, sklearn_type_class):
do sth
我可以硬编码
statsmodel_type_class
和 sklearn_type_class
。但这两种类型的类都有“基础”类吗?
statsmodels
和 sklearn
类不是彼此的子类,所以不是。如果您想根据每种类型执行不同的操作,则 if 语句是一个不错的首选。如果您想对两个实例执行相同的操作,可以使用元组简化代码:
if isinstance(my_obj, (statsmodel_type_class, sklearn_type_class)):
do sth
按照文档中的建议。