32

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)
4

5 に答える 5

25

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
于 2012-05-11T04:23:07.243 に答える
23

はい、bool。まったく同じではありません-ですが'0'、、、、、、、Trueおよびはすべてです。NoneFalse[]00.0""False

booliforwhileステートメント、条件式、またはブール演算子などの条件でオブジェクトを評価するときに暗黙的に使用されます。

PHPのように数値を含む文字列を処理したい場合は、次のようにすることができます。

def empty(value):
    try:
        value = float(value)
    except ValueError:
        pass
    return bool(value)
于 2012-05-11T04:20:34.717 に答える
7

使用するだけ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は単純さに関するものなので、この答えもそうです:)

于 2018-02-14T16:34:41.433 に答える
4

セクション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つを返します。)

于 2012-05-11T04:19:55.233 に答える
0

notキーワードを使用できます。

if not a
    print("a is empty")
于 2022-02-21T06:35:49.790 に答える