使用第三方库,我在Python3版本之间遇到了奇怪的行为。 以下代码
from typing import Iterable
class Subiter(Iterable):
def __init__(self):
pass
print(isinstance([], Subiter))
在Python3.5.1中返回True,在Python3.5.3中返回False(在3.5.2中没有测试)。它可能会导致严重的错误,因为稍后可以获取Subiter类的属性并获取AttributeError。我在不同版本之间搜索changelog,但找不到相关的问题或PEP(一个候选者是bpo-24635,但似乎不同)。如果真的是虫子,谁能给我指出正确的问题?只有使用附加条件检查才能避免这种情况吗?谢谢
UPD:@ekhumoro确认它在3.5.2中返回False,所以它应该在3.5.2中。发行说明
目前没有回答
相关问题 更多 >
编程相关推荐