Python
 Computer >> コンピューター >  >> プログラミング >> Python

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が返されるのか

この例では、変数 ab にはそれぞれ別の値が代入されています。組み込み関数 id() を使って各変数のオブジェクトIDを確認すると、両者は異なる値(1581561184 と 1581561504)となっています。これは、ab がメモリ上で別々のオブジェクトを指していることを意味します。

そのため、「a is not b」は「aとbは同じオブジェクトではない」と評価され、結果として True が返されるのです。

補足:「is not」と「!=」の違いに注意

「is not」はオブジェクトの同一性(メモリ上で同じオブジェクトかどうか)を比較するのに対し、「!=」はオブジェクトのが等しいかどうかを比較します。似ているようで意味がまったく異なるため、用途に応じて適切に使い分けることが重要です。

  1. Pythonのドット(.)とは?属性やメソッドへのアクセス方法をわかりやすく解説

    Pythonにおける「ドット(.)」の基本 Pythonでは、ほぼすべての要素がオブジェクトとして扱われます。そして、すべてのオブジェクトには、それぞれ固有の属性(アトリビュート)とメソッドが備わっています。オブジェクトと、それらの属性やメソッドとをつなぐ役割を果たすのが、「ドット(.)」という記号です。 具体例:Dogクラスを使って理解しよう 例えば、「Dog(犬)」というクラスがあるとします。このとき、Fidoという名前の犬は、Dogクラスのインスタンス(オブジェクト)に相当します。 class Dog: pass Fido = Dog() このクラスに eats()(食べ

  2. Pythonの__init__.pyとは?役割と基本的な使い方をわかりやすく解説

    __init__.pyファイルの役割とはPythonにおいて、__init__.pyファイルは、ディレクトリを「パッケージ」として認識させるために必要なファイルです。このファイルが存在することで、Pythonはそのディレクトリをひとつのパッケージとして扱うことができるようになります。この仕組みには重要な目的があります。それは、stringのような一般的な名前を持つディレクトリが、モジュール検索パス上の後続にある正規のモジュールを意図せず隠してしまう(シャドーイングする)ことを防ぐためです。__init__.pyの中身は空でもOK最もシンプルなケースでは、__init__.pyは単なる空のファイ