When to choose collections.Iterable or '__iter__' attribute in Python?
本问题已经有最佳答案,请猛点这里访问。
在这个问题中,有许多方法可以测试不可测性。其中两种解决方案是:
他们似乎都做了同样的事情,我找不到任何能区分他们的医生。有什么区别?为什么我会选择一个而不是另一个?
Python的方式是
- 假设它是不可测的
- 如果不是,则捕获异常
然而,用常识来使用它。也就是说,只有当你有理由相信你的对象在大多数情况下是不可改变的时候,你才这么做。
Also, take care of strings, which are treated as iterables, but in most practical use cases, they should not be. In that case, the practice is to explicitly check
isinstance(.., str)