python PEP 8 linter不喜欢这样:
assert type(a) == type(b)
它告诉我使用“isinstance()”代替。但是要使用isinstance
,我必须做类似的事情
assert isinstance(a, type(b)) and isinstance(b, type(a))
这似乎更加无懈可击,我并没有真正看到这一点。
棉绒在某种程度上是明智的,我看不到吗?或者我在某种程度上是明智的?
从评论中添加的上下文:
根据我的程序的逻辑,在代码中的这一点上应该有
type(a) == type(b)
,我只想声明看到一切都运行顺利
在这种情况下,你应该忽略linter,因为它并没有暗示对你有用的东西。 E271旨在通过类型检查警告人们问题,例如:
if type(a) == A:
...
通过忽略考虑a
是A
的子类的实例的可能性,上面的例子可能意外地阻碍了逻辑流程。