Pythonにphpempty関数(http://php.net/manual/en/function.empty.php)などの関数があり、次の基準で変数が空かどうかをチェックするのではないかと思います。
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
Pythonにphpempty関数(http://php.net/manual/en/function.empty.php)などの関数があり、次の基準で変数が空かどうかをチェックするのではないかと思います。
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
notキーワードを推奨するこの以前の回答も参照してください
Pythonでリストが空かどうかを確認するにはどうすればよいですか?
それは単なるリスト以上のものに一般化されます:
>>> a = ""
>>> not a
True
>>> a = []
>>> not a
True
>>> a = 0
>>> not a
True
>>> a = 0.0
>>> not a
True
>>> a = numpy.array([])
>>> not a
True
特に、文字列には実際には「0」を含む文字が含まれているため、文字列としての「0」では機能しません。そのためには、それをintに変換する必要があります。
>>> a = "0"
>>> not a
False
>>> a = '0'
>>> not int(a)
True
はい、bool。まったく同じではありません-ですが'0'、、、、、、、Trueおよびはすべてです。NoneFalse[]00.0""False
booliforwhileステートメント、条件式、またはブール演算子などの条件でオブジェクトを評価するときに暗黙的に使用されます。
PHPのように数値を含む文字列を処理したい場合は、次のようにすることができます。
def empty(value):
try:
value = float(value)
except ValueError:
pass
return bool(value)
使用するだけnotです:
if not your_variable:
print("your_variable is empty")
そしてあなたの0 as string使用のために:
if your_variable == "0":
print("your_variable is 0 (string)")
それらを組み合わせる:
if not your_variable or your_variable == "0":
print("your_variable is empty")
Pythonは単純さに関するものなので、この答えもそうです:)
セクション5.1を参照してください。
http://docs.python.org/library/stdtypes.html
ifまたはwhile条件で使用するため、または以下のブール演算のオペランドとして使用するために、任意のオブジェクトの真理値をテストできます。次の値はfalseと見なされます。
None
False
任意の数値タイプのゼロ0、たとえば0L、、、、。0.00j
空のシーケンス、たとえば''、、、。()[]
たとえば、空のマッピング{}。
ユーザー定義クラスのインスタンス。クラスが__nonzero__()または__len__()メソッドを定義している場合、そのメソッドが整数のゼロまたはブール値を返すときFalse。[1]
他のすべての値はtrueと見なされるため、多くのタイプのオブジェクトは常にtrueです。
特に明記されていない限り、ブール結果を持つ操作および組み込み関数は、常に0またはFalsefalse1またはtrueを返します。True(重要な例外:ブール演算orであり、and常にそれらのオペランドの1つを返します。)
notキーワードを使用できます。
if not a
print("a is empty")