web-dev-qa-db-ja.com

Python NoneTypeが機能していないことを確認してください

オブジェクトの長さをチェックする前に、オブジェクトのタイプがNoneかどうかをチェックしようとしています。このために、or演算子を使用してifステートメントを実行しました。

_if (cts is None) | (len(cts) == 0):
return
_

私の知る限り、オブジェクトctsは、Noneの場合はチェックされ、Noneの場合は、長さチェックは実行されません。ただし、ctsがNoneの場合、次のエラーが発生します。

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

python最初の式が真であっても、ifステートメントの両方の式をチェックしますか?

7
Alex Blundell

Pythonでは、|ビット単位または です。ここで 論理または を使用します:

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

使用することもできます-

if not cts: return
16
Arovit