我基于collections.MutableSequence
构建了一个类似于自定义列表的类:
class MyList(collections.MutableSequence):
etc... behave mostly like a list...
value = MyList([1,2,3])
第三方数据处理前运行检查表:
^{pr2}$我不希望在将自定义列表类对象传递给第三方库之前将其转换为内置列表。在
有没有一种优雅的方法可以使MyList
的实例看起来像是isinstance(MyList([1,2,3]), list)
检查中的list
的实例?在
不,您的类实例不从
list
继承就无法通过该测试。你的子类list
才能通过测试。在您可以尝试从
MutableSequence
和list
继承;任何不是由您的类或MutableSequence
实现的方法或属性都将在list
上查找,因此您可能会得到您不希望这样做的额外方法,这些方法的行为可能会出乎意料:您也可以monkeypatch
^{pr2}$check_correct_type()
函数,前提是它确实是这样一个独立的函数:相关问题 更多 >
编程相关推荐