Pythonの「is not」演算子とは?仕組みと使い方をわかりやすく解説
Pythonの「is not」演算子とは
Pythonにおける「is not」は、同一性を比較する演算子(アイデンティティ演算子)の一つです。演算子の左右にある2つの変数が同じオブジェクトを参照している場合には False を返し、異なるオブジェクトを参照している場合には True を返します。
基本的な使い方の例
以下のコードで実際の動作を確認してみましょう。
>>> a = 10 >>> b = 20 >>> id(a), id(b) (1581561184, 1581561504) >>> a is not b True
なぜTrueが返されるのか
この例では、変数 a と b にはそれぞれ別の値が代入されています。組み込み関数 id() を使って各変数のオブジェクトIDを確認すると、両者は異なる値(1581561184 と 1581561504)となっています。これは、a と b がメモリ上で別々のオブジェクトを指していることを意味します。
そのため、「a is not b」は「aとbは同じオブジェクトではない」と評価され、結果として True が返されるのです。
補足:「is not」と「!=」の違いに注意
「is not」はオブジェクトの同一性(メモリ上で同じオブジェクトかどうか)を比較するのに対し、「!=」はオブジェクトの値が等しいかどうかを比較します。似ているようで意味がまったく異なるため、用途に応じて適切に使い分けることが重要です。
-
Pythonのドット(.)とは?属性やメソッドへのアクセス方法をわかりやすく解説
Pythonにおける「ドット(.)」の基本 Pythonでは、ほぼすべての要素がオブジェクトとして扱われます。そして、すべてのオブジェクトには、それぞれ固有の属性(アトリビュート)とメソッドが備わっています。オブジェクトと、それらの属性やメソッドとをつなぐ役割を果たすのが、「ドット(.)」という記号です。 具体例:Dogクラスを使って理解しよう 例えば、「Dog(犬)」というクラスがあるとします。このとき、Fidoという名前の犬は、Dogクラスのインスタンス(オブジェクト)に相当します。 class Dog: pass Fido = Dog() このクラスに eats()(食べ
-
Pythonの__init__.pyとは?役割と基本的な使い方をわかりやすく解説
__init__.pyファイルの役割とはPythonにおいて、__init__.pyファイルは、ディレクトリを「パッケージ」として認識させるために必要なファイルです。このファイルが存在することで、Pythonはそのディレクトリをひとつのパッケージとして扱うことができるようになります。この仕組みには重要な目的があります。それは、stringのような一般的な名前を持つディレクトリが、モジュール検索パス上の後続にある正規のモジュールを意図せず隠してしまう(シャドーイングする)ことを防ぐためです。__init__.pyの中身は空でもOK最もシンプルなケースでは、__init__.pyは単なる空のファイ