等しくない演算子と等しい演算子を使用する方法
公開: 2022-01-29Pythonでは、 not equaltoおよびequalto演算子を使用して、2つのPythonオブジェクトが同じ値を持っているかどうかを確認できます。 このチュートリアルでは、多くのサンプルコードでこれらの演算子を使用する方法を説明します。
このチュートリアルでは、次のことを学びます。
- 等しくない(
!=
)演算子とユースケースの構文、 - 例を含むequal演算子(
==
)の構文、および is
およびis not
演算子を使用して、2つのPythonオブジェクトのIDを確認します。
始めましょう。
Pythonが等しくない演算子の構文
任意の2つのPythonオブジェクトobj1
およびobj2
の場合、等しくない演算子を使用する一般的な構文は次のとおりです。
<obj1> != <obj2>
-
obj1
とobj2
の値が等しくない場合にTrue
を返し、 - それ以外の場合は
False
を返します。
注:前述のように、
obj1
とobj2
は整数、浮動小数点数、文字列、リストなどにすることができます。
Pythonが等しくない演算子のコード例
このセクションでは、等しくない演算子をよりよく理解するために、いくつかの例をコーディングしましょう。
比較のためにPythonの等しくない演算子を使用する
これが最初の例です。
num1 = 27 num2 = 3*9 num1 != num2 # Output: False
コード例は、GeekflarePythonIDEでブラウザから直接実行できます。 または、ローカルマシンで実行することを選択できます。
num1 = 27
であり、 num2
も27
( 3*9 = 27
)と評価されるため、 num1
とnum2
の値は等しくなります。 したがって、 !=
演算子はFalse
を返します。
別の例を見てみましょう。
以下のコードでは、 num1
は7に設定され、 num2
は文字列7に設定されています。データ型が異なるため、等しくない演算子はTrue
を返します。
num1 = 7 num2 = "7" num1 != num2 # Output: True
次に示すように、文字列を整数にキャストします。
num1 = 7 num2 = int("7") num1 != num2 # Output: False
この場合、返される結果がFalse
であることがわかります。これは、 num1
とnum2
が整数7に等しいためです。
リスト、タプル、セットなどのPythonコレクションで不等演算子を使用することもできます。
注:リストなどのデータのコレクションの場合、等しくない演算子は、個々の項目の値をチェックすることによって機能します。 たとえば、2つのリスト
list1
とlist2
(それぞれ長さn
)は、{0,1,2,3,..n-1}
i
のlist1[i] == list2[i]
の場合にのみ等しくなります。
次に例を示します。
list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True
上記の例では、 list1
とlist2
の違いは1つの要素だけです。 そして、等しくない!=
演算子は、期待どおりにTrue
を返します。
条件文でPythonの等しくない演算子を使用する
Pythonの条件の一部として、等しくない演算子を使用することがよくあります。
たとえば、以下のコードスニペットは、数値が奇数かどうかを確認する方法を示しています。
2で均等に割り切れない数は奇数です。 そして、これは条件
num%2 != 0
になります。
num = 7 if(num%2 != 0): print("The number is odd.") else: print("The number is even.") # Output: The number is odd.
特定の条件を満たすリスト要素のみを保持する場合は、リスト内包表記で条件を使用することもできます。 以下の例では、 odd_10
は10未満のすべての奇数のリストです。
odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]
これで、等しくない( !=
)演算子の説明は終わりです。
ご想像のとおり、等しい演算子は、等しくない演算子とは逆の効果をもたらします。
これについては、次のセクションで詳しく説明します。
Pythonの等しい演算子の構文
Pythonのequalto演算子を使用するための構文は次のとおりです。
<obj1> == <obj2> #where <obj1> and <obj2> are valid Python objects
-
obj1
とobj2
の値が等しい場合にTrue
を返し、 - それ以外の場合は
False
を返します。
PythonEqual演算子のコード例
等しい演算子( ==
)は、等しくない演算子と非常によく似た方法で使用できます。
次の例をコーディングしてみましょう。
- 2つの文字列が等しいかどうかを確認するには、
- 数が偶数かどうかを確認し、
- リスト内包で条件を使用するには
比較のためにPythonの等しくない演算子を使用する
以下のコードスニペットでは、 str1
とstr2
の値は同じです。 したがって、 equal演算子( ==
)はTrue
を返します。

str1 = "coding" str2 = "coding" str1 == str2 # Output: True

条件式でequal演算子を使用してみましょう。
注:2で割り切れる数は偶数です。 そしてコードでは、これは条件
num%2 == 0
になります
num = 10 if(num%2 == 0): print("The number is even.") else: print("The number is odd.") # Output: The number is even.
この例に基づいて、Pythonのリスト内包表記を使用して、10未満のすべての偶数を取得してみましょう。
even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]
上記の例では、
-
range(10)
は、0から9までのすべての整数を取得するためにループスルーできる範囲オブジェクトを返します。 - 条件
num%2 == 0
は、偶数の場合にのみTrue
になります。 - したがって、
even_10
は、10未満のすべての偶数のリストです。
これまで、等しくない( !=
)および等しい( ==
)演算子を使用して等しいかどうかをチェックする方法を学習しました。
次のセクションでは、2つのオブジェクトのIDを確認する方法を学習します。 2つのPythonオブジェクトが同一であるかどうかを確認します。
Pythonの使用方法は演算子であり、演算子ではありません
Pythonプログラミングの初心者の場合、 ==
とis
演算子の間で混乱している可能性があります。 このセクションでそれを明確にしましょう。
前のセクションでは、 str1
とstr2
がequalで、 ==
演算子がTrue
を返す例がありました。
次に、次のコードスニペットを実行します。
str1 = "coding" str2 = "coding" str1 is str2 # Output: False
str1 is str2
であることがFalse
を返すことがわかります。
一歩下がって、Pythonの演算子is
何をするのかを理解しましょう。
is
演算子は、任意の2つのPythonオブジェクトを操作します。
また、2つのオブジェクトが同一である場合、つまりメモリ内の同じオブジェクトを参照している場合にのみTrue
を返します。
str1
はstr2
と同じですが、 str1
はメモリ内の2つの異なるオブジェクトを指しているため、 str2
ではありません。 したがって、それらは異なるアイデンティティを持っています。

Pythonでは、 id()
関数を使用してオブジェクトのIDを取得できます。
次のコードセルを実行して、 str1
とstr2
のIDを取得します。
id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344
ご覧のとおり、 str1
とstr2
のIDは異なります。 そして、 str1 is str2
、期待どおりにFalse
を返します。
それを一緒に入れて、
<obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True
次のように、これをすばやく確認しましょう。
str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True
直感的には、 is not
演算子は、 is
演算子の反対を実行します。
is not
演算子は、任意の2つのPythonオブジェクトを操作します。
また、2つのオブジェクトが同一である場合、つまりメモリ内の同じオブジェクトを参照している場合にのみFalse
を返します。 それ以外の場合は、True
を返します。
上記のコード例では、 is
をis not
に置き換えてみて、結果を確認してください。
結論
このチュートリアルがお役に立てば幸いです。
要約すると、あなたは次のことを学びました。
- 等しい(
==
)および等しくない(!=
)演算子を使用して、2つのPythonオブジェクトが同じ値を持っているかどうかを確認する方法 - Pythonオブジェクトの同等性と同一性の違い、および
- Pythonの演算子と
is not
演算子is
、2つのPythonオブジェクトが同一であるかどうかを確認するのに役立ちます。
時間差を計算する方法やPythonでヘビゲームを作る方法についてはこちらをご覧ください。
次のチュートリアルでお会いしましょう。 それまでは、幸せな学習とコーディングを!