最后更新于6年前
Python中所有变量皆为对象. 有对象, 就有对象的类别. 代码中可以使用内置函数isinstance(obj, type)判断一个对象obj是否是type类的对象.
Python
isinstance(obj, type)
obj
type
常见的类这里就不列举了, 这里记录一些比较巧妙和少见的类别判定方法, 在实际开发中也能经常被使用到.
这里的函数指的是在模块中使用直接定义的函数, 以及类函数. 注意, 对象的函数称为方法(method), 不在此类中.
类对象的函数称为方法(method).
或者使用:
isinstance(obj, types.FunctionType)
isinstance(obj, types.MethodType)
isinstance(obj, collections.Iterable)
hasattr(obj, "__iter__")
isinstance(obj, collections.Iterator)
hasattr(obj, "__next__")