使用第三方库我在Python3版本之间遇到了奇怪的行为。 以下代码
from typing import Iterable
class Subiter(Iterable):
def __init__(self):
pass
print(isinstance([], Subiter))
在Python 3.5.1中返回True,在Python 3.5.3中返回False(在3.5.2中未测试)。它可能会导致严重的错误,因为以后可以获取Subiter类的属性并获取AttributeError。我在版本之间搜索更改日志,但无法找到相关问题或PEP(一个候选人是bpo-24635,但似乎不同)。如果真的是这个错误,任何人都能指出正确的问题吗?只有使用额外的条件检查才能避免这种情况吗?感谢
UPD:@ekhumoro确认它在3.5.2中返回False,因此 应该在3.5.2中。发行说明