python - 使用返回 True/False 的 if 语句而不是直接将条件表达式转换为 bool 的技术原因
问题描述
我正在查看一门名为“高级 Python”的在线课程,并注意到一些使用if
返回的语句True
而不是直接将条件表达式作为布尔值返回的情况。下面是一个基于我在课程中看到的示例:
def foo(x):
if x.isupper():
return True
return False
def bar(x):
return bool(x.isupper())
def usage():
s = "Hello World!"
return list(filter(foo, s)
由于我在其他语言方面更有经验,是否有技术上的理由更foo
喜欢bar
?也许这是一种与不一定知道论点类型有关的防御方式?
解决方案
也许由于 Python 是动态类型的,因此 usingfoo
方法会返回对返回类型的更多控制的感知 - 但这是无用的。除此之外,这些方法是等效的。
推荐阅读
- javascript - 如何在角度组件类中迭代 [object Object]
- elasticsearch - 弹性搜索中的多选聚合
- react-native - 在本机反应中隐藏重叠svg的背景
- javascript - 如何过滤包含键和值的数组
- python - 如何在 Python 中使用 celery beat 安排多个任务?
- javascript - 如何获得多个输入以使用按键功能?Javascript HTML
- c - 检查矩阵的身份有什么问题吗?
- python - 尽管我没有清除它,但我的 Python 列表正在被清除
- laravel - 在 Google App Engine 上部署 Laravel - 灵活
- c# - 优化长集合(在 LiteDB 中)