1. ホーム
  2. python

[解決済み] None値とは何ですか?

2022-05-29 11:05:13

質問

Pythonを勉強していて、ある章を読みました。 None 値を説明する章を読みましたが、残念ながらこの本はいくつかの点であまり明確ではありません。そこで共有すれば、私の疑問に対する答えが見つかると思ったのです。

がどのようなものか知りたいのですが。 None で、何に使うのですか?

あと、この部分がわからないのですが。

の値を割り当てること None の値を変数に代入することは、その変数を元の空の状態にリセットする一つの方法です。 元の空の状態に戻す方法の一つです。

どういう意味ですか?

コンピュータの世界の知識が少ない(クラス、オブジェクトなどを学んでいない)ため、ほとんどの回答が理解できませんでしたが、回答は素晴らしかったです。この文章はどういう意味ですか?

の値を割り当てる None という値を変数に代入することは、その変数をリセットする一つの方法です。 を元の空の状態に戻す方法の一つです。

最終的に

ようやく、いろいろな回答を見てきた中で、自分の答えを出すことができました。私のために時間を割いてくださった方々(特にMartijn PietersとDSM)に感謝しなければなりませんし、すべての答えをベストとして選ぶことができればいいのですが、選択は1つに限られています。すべての回答が素晴らしいものでした。

どのように解決するのですか?

Martijnの回答は、以下の内容を説明しています。 None がPythonで何であるかを説明し、その本が誤解を招くものであることを正しく述べています。 Pythonのプログラマは原則として

の値を割り当てることは None の値を変数に代入することは、その変数を元の空の状態にリセットする一つの方法です。 元の空の状態に戻す方法の一つです。

Briggsが意味することを説明するのは難しく、また、なぜここで誰も満足していないのかを説明するのも難しいです。 1つの例えが助けになるかもしれません。

Pythonでは、変数名はオブジェクトに貼られたシールのようなものです。 すべてのステッカーには固有の名前が書かれており、一度に1つのオブジェクトにしか貼れませんが、望めば、同じオブジェクトに複数のステッカーを貼ることができます。 と書くと

F = "fork"

文字列オブジェクトに "F" というステッカーを貼った場合 "fork" . と書くと

F = None

に移動させると、ステッカーは None オブジェクトに移動します。

ブリッグスが想像してほしいのは、あなたがしなかったことです。 を書く ステッカー "F" があった。 すでに である。 F のステッカーが貼られています。 None を貼ること、そしてあなたがしたことは を動かす から、それを None から "fork" . ですから、あなたが F = None と入力すると、元の空の状態に戻すことになります。 None を意味するものとして empty state .

彼が言いたいことはわかるのですが、それは悪い見方です。 Pythonを起動して print(F) と入力すると、次のように表示されます。

>>> print(F)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'F' is not defined

で、その NameError は、Python が F , というステッカーは存在しないので . もしブリッグスが正しくて F = None がリセットされ F を元の状態に戻すと、今度はそこにあるはずです。

>>> print(F)
None

と入力した後に行うように F = None と入力し、ステッカーを None .


というわけで、以上となります。 実際には、Pythonにはオブジェクトにすでに付いているステッカー(組み込み名)もありますが、それ以外は以下のような行で自分で書かなければなりません。 F = "fork" とか A = 2 そして c17 = 3.14 のように)、後で他のオブジェクトに貼り付けることができます。 F = 10 または F = None でも同じです)。

ブリッグスは、あなたが書きたいと思う可能性のあるすべてのステッカーがすでに貼り付けられていたことにして、そのステッカーを None オブジェクトに貼り付けられているように見せかけています。