Python检查NoneType无法正常工作

Ale*_*ell 7 python if-statement nonetype

我正在尝试检查一个对象是否具有None类型,然后再检查它的长度.为此,我用一个或运算符做了一个if语句:

if (cts is None) | (len(cts) == 0):
return
Run Code Online (Sandbox Code Playgroud)

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

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

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

iCo*_*dez 25

在Python中,|是一个按位或.您想使用逻辑或此处:

if (cts is None) or (len(cts) == 0):
    return
Run Code Online (Sandbox Code Playgroud)


Aro*_*vit 16

你也可以用 -

if not cts: return
Run Code Online (Sandbox Code Playgroud)