【问题标题】:Python 'If not' syntax [duplicate]Python“如果不是”语法[重复]
【发布时间】:2013-05-20 07:48:58
【问题描述】:

我对这么多 Python 开发人员如何/为什么在他们的条件语句中使用 if not 感到有点困惑。

例如,假设我们有一个函数,

def foo(bar = None):
    if not bar:
        bar = 2

但是为什么要这样做呢?我的意思是,if bar != Noneif bar is not None 不会更明确吗? if not 想说什么?

【问题讨论】:

标签: python python-2.7


【解决方案1】:

是的,if bar is not None 更明确,因此更好,假设它确实是你想要的。情况并非总是如此,存在细微差别:if not bar: 将在bar 是任何类型的零或空容器或False 时执行。 许多人确实使用not bar,而他们确实的意思是bar is not None

【讨论】:

  • 那么如果bar是[],那么它会执行吗?
  • @EdgarAroutiounian 是的。相同或空的集合、元组、字典、字符串等。
  • 哇,这真是令人困惑
  • 这是最好的答案,没有之一。
猜你喜欢
  • 2016-03-26
  • 2016-01-05
  • 2015-02-26
  • 2017-10-06
  • 1970-01-01
  • 2016-06-05
  • 2016-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多