python PEP 8 linter不喜欢这样:
assert type(a) == type(b)它告诉我使用"isinstance()“代替。但是要使用isinstance,我必须做一些类似的事情
assert isinstance(a, type(b)) and isinstance(b, type(a))这似乎要难得多,我也不太明白。
林特在某种程度上是我看不到的智慧吗?还是我聪明到了林特看不见的程度?
发布于 2018-09-18 22:08:32
从评论中添加的上下文:
根据我的程序逻辑,此时代码中应该有
type(a) == type(b),我只想断言这一点,以确保一切顺利运行。
在这种情况下,您应该忽略linter,因为它没有给您任何有用的建议。E721的目的是通过类型检查提醒人们注意问题,例如:
if type(a) == A:
...上面的示例可能是意外地破坏了逻辑流,因为忽略了a是A子类的一个实例的可能性。
https://stackoverflow.com/questions/52395064
复制相似问题