什么是区分旧式和新式 python 类或对象的简单实用函数?
以下是否正确/完整:
isNewStyle1 = lambda o: isinstance(hasattr(o, '__class__') and o.__class__ or o, type)
isNewStyle2 = lambda o: hasattr(o, '__class__') and type(o) == o.__class__ or False
如果没有,那么您能否提供解决方案。如果是这样,有没有更好的方法来进行检查?
使用上述方法,我没有遇到任何问题,但我没有 100% 的信心认为它适用于作为参数提供的所有对象。