Python 的禅宗说显式优于隐式。
然而,检查集合 c 是否为空的 Pythonic 方法是:
if not c:
# ...
检查集合是否不为空,如下所示:
if c:
# ...
对于任何可能具有“零”或“空”的东西(元组、整数、字符串、无等)也是如此
这样做的目的是什么?如果我不这样做,我的代码会出现更多错误吗?或者它是否支持更多用例(即:某种多态性),因为人们可以覆盖这些布尔强制?
这种最佳实践并非没有道理。
测试时if object:
你基本上是在调用对象__bool__
方法,可以根据对象行为重写和实现。
例如,__bool__
集合方法(__nonzero__
在Python 2)中,将根据集合是否为空返回一个布尔值。
(参考:http://docs.python.org/reference/datamodel.html http://docs.python.org/reference/datamodel.html)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)