[解決済み] None値とは何ですか?
質問
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
オブジェクトに貼り付けられているように見せかけています。
関連
-
Python百行で韓服サークルの画像クロールを実現する
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] __init__.py は何のためにあるのですか?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] JavaScriptの変数のスコープとは何ですか?
-
[解決済み】if __name__ == "__main__": は何をするのでしょうか?
-
[解決済み】__str__と__repr__の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコンテナのための組み込み汎用関数操作
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み] nullはなぜオブジェクトなのか、nullとundefinedの違いは何ですか?
-
[解決済み】numpyの配列が空かどうかを確認するにはどうすればいいですか?
-
[解決済み] SQL、あるいはTSQLはチューリング完全か?