not与逻辑判断句if连用,代表not后面的表达式为False的时候,执行冒号后面的语句。比如:

a = False
if not a:   # 这里因为a是False,所以not a就是True,就能够输出结果hello。
    print "hello"

a = None同理

在python中 None, False, 空字符串"“, 0, 空列表[], 空字典{}, 空元组()都相当于False。使用if not x这种写法的前提是:必须清楚x等于None, False, 空字符串”", 0, 空列表[], 空字典{}, 空元组()时对你的判断没有影响才行。
对于if x is not Noneif not x is None写法,很明显前者更清晰,而后者有可能使读者误解为if (not x) is None,正确理解为 if not (x is None)。因此推荐前者,同时这也是谷歌推荐的风格。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐