【问题标题】:Python check for NoneType not workingPython 检查 NoneType 不起作用
【发布时间】:2013-12-22 17:25:11
【问题描述】:

我试图在检查对象的长度之前检查对象是否具有 None 类型。为此,我使用 or 运算符完成了 if 语句:

if (cts is None) | (len(cts) == 0):
return

据我所知,对象cts 将被检查是否为None,如果是,则不会运行长度检查。但是,如果 cts 为 None,则会发生以下错误:

TypeError: object of type 'NoneType' has no len()

python 是否检查 if 语句中的两个表达式,即使第一个为真?

【问题讨论】:

    标签: python if-statement nonetype


    【解决方案1】:

    在 Python 中,|bitwise or。你想在这里使用logical or

    if (cts is None) or (len(cts) == 0):
        return
    

    【讨论】:

    • 感谢您解释差异 - 我认为它们可以互换
    • 非常感谢!我的 Mako 模板有问题,正在尝试%if 'member' is None:,但您的解决方案已解决:)
    【解决方案2】:

    你也可以使用-

    if not cts: return
    

    【讨论】:

    • 那也会检查列表是否为空吗?
    猜你喜欢
    • 1970-01-01
    • 2016-08-24
    • 2021-02-19
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 2016-04-17
    相关资源
    最近更新 更多