多くの場合、変数のコードは判決のいずれもありませんがあるかどうか、書き込みの主に3つのタイプがあります。
- 最初はあります
if x is None
。 - 第です
if not x:
。 - 第三は、
if not x is None
(より明確に理解文if not (x is None)
)。
あなたは、これが書き込みに異なるものではないと思われる場合、あなたは注意することができ、そしてピットがあります。コードを初めて目:
在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
>>> x = 1
>>> not x
False
>>> x = [1]
>>> not x
False
>>> x = 0
>>> not x
True
>>> x = [0] # You don't want to fall in this one.
>>> not x
False
パイソン、Falseを、空の文字列「でなし」、0、空のリスト[] {}空の辞書、空のタプルは()、すなわち偽、と等価です。
コードは以下の通りであります:
not None == not False == not '' == not 0 == not [] == not {} == not ()
そのため、あなたは== Xを区別したい場合は、リストを使用している場合、[]とのx ==なしの両方の場合は、その後、この時点ではif not x:
、問題が発生します:
>>> x = []
>>> y = None
>>>
>>> x is None
False
>>> y is None
True
>>>
>>>
>>> not x
True
>>> not y
True
>>>
>>>
>>> not x is None
>>> True
>>> not y is None
False
>>>
たぶん、あなたは、xがNoneかどうかを確認したいのですが、混乱したx==[]
状況も判断に来て、この場合を区別することはできません。
Xなし、Falseを、空の文字列「に等しいことが明らかでなければならないような手法に慣れxがない場合pythoner」、0、空のリスト[] {}空の辞書、空のタプル()あなたを判断しないために仕事に影響を与えます。
以下の場合if x is not None
とif not x is None
書き込み、前者が後者は誤解を読者に可能性を秘めている一方で、約、より明確であることは明らかであるif (not x) is None
、したがって、前者お勧めしますが、これはGoogleの推奨スタイルです
結論:
if x is not None
最高の書かれた、明確な、エラーはこのようなアプローチに固執し、将来的に発生していないです。
ないのx構内使用した場合、このようなアプローチは、以下のとおりです。xはあなたのために決定された同等の明確なし、虚偽、空の文字列「」、0、空のリスト[] {}空の辞書、空のタプル(時間)には影響しませんことはありませんライン。