使用
isinstance,没有别的:
if isinstance(x, pd.Dataframe): ... # do something
PEP8明确表示这
isinstance是检查类型的首选方法
No: type(x) is pd.DataframeNo: type(x) == pd.DataframeYes: isinstance(x, pd.Dataframe)
而且甚至不用考虑
if obj.__class__.__name__ = 'Dataframe': expect_problems_some_day()
isinstance处理继承(请参见type()和isinstance()之间的区别?)。例如,它会告诉你,如果一个变量是一个字符串(
str或
unipre),因为他们从派生
basestring)
if isinstance(obj, basestring): i_am_string(obj)
专门针对
pandas
Dataframe对象:
import pandas as pdisinstance(var, pd.Dataframe)



