Select Language

AI Technology Community

2.25、Python NoneTypeタイプ

NoneTypeは特別な型の一種で、この型は値としてNoneしか持たず、しかもその値にはほとんど何もできる操作がありません。では、その役割は何でしょうか? すべての変数は必ず値を持たなければならず、あるオブジェクトを指さなければなりません。何の値を取るべきかわからないときは、それをNoneにすることができます。

次の例を見てください:

>>> a = None
>>> b = None
>>> id(a)  # すべての値がNoneのオブジェクトのアドレスは同じで、同じオブジェクトを指します
4368575992
>>> id(b)
4368575992
>>> a is b
True

また、ある変数をNoneに設定することで、元の値を解放することができます。

ある変数に対応するオブジェクトがもう必要ないと判断した場合、その変数をNoneオブジェクトに向けることで、元のオブジェクトは使用されなくなり自動的に破棄される可能性があります。この自動破棄のプロセスはガベージコレクションとも呼ばれます。

読者の方は、Pythonにはオブジェクトの作成プロセスがある一方で、オブジェクトの破棄プロセスはほとんど見られないことに気づいたかもしれません。これはCやC++言語とは異なります。CやC++では、コードによって生成されたオブジェクトは、コードによって破棄する必要があります。Pythonは他のスクリプト言語と同様に、独自のガベージコレクション機構を持っているため、開発者がオブジェクトの破棄を気にする必要はありません。ただし、変数にNoneを代入することで、ガベージコレクションシステムにそのオブジェクトがもう必要ないことを知らせ、破棄してもらうことができます。


post
  • 26

    item of content
Pythonの基本データ型は全部で26章あります。
この章では、整数型、浮動小数点数、文字列、ブール型、リスト、タプル、セットおよび辞書など、Pythonが提供する基本的なデータ型について紹介します。また、これらのデータ型に対する演算操作についても解説します。
私たちはPythonが強タイプ言語であることを知っています。つまり、各変数の型は特定の時点でのみ確定します。言い換えれば、Pythonにおける任意の生存しているオブジェクトの型は一意です。異なる型のオブジェクトには異なる属性があり、異なる操作を実行できます。
さらに、この章の最後では変数やオブジェクトなどの概念についても触れられます。それぞれのオブジェクトには確定した型があり、各変数は特定のオブジェクトを指し示します。