等しくない演算子と等しい演算子を使用する方法

公開: 2022-01-29

Pythonでは、 not equaltoおよびequalto演算子を使用して、2つのPythonオブジェクトが同じ値を持っているかどうかを確認できます。 このチュートリアルでは、多くのサンプルコードでこれらの演算子を使用する方法を説明します。

このチュートリアルでは、次のことを学びます。

  • 等しくない!= )演算子とユースケースの構文、
  • 例を含むequal演算子( == )の構文、および
  • isおよびis not演算子を使用して、2つのPythonオブジェクトのIDを確認します。

始めましょう。

Pythonが等しくない演算子の構文

任意の2つのPythonオブジェクトobj1およびobj2の場合、等しくない演算子を使用する一般的な構文は次のとおりです。

 <obj1> != <obj2>
  • obj1obj2の値が等しくない場合にTrueを返し、
  • それ以外の場合はFalseを返します。

:前述のように、 obj1obj2は整数、浮動小数点数、文字列、リストなどにすることができます。

Pythonが等しくない演算子のコード例

このセクションでは、等しくない演算子をよりよく理解するために、いくつかの例をコーディングしましょう。

比較のためにPythonの等しくない演算子を使用する

これが最初の例です。

 num1 = 27 num2 = 3*9 num1 != num2 # Output: False

コード例は、GeekflarePythonIDEでブラウザから直接実行できます。 または、ローカルマシンで実行することを選択できます。

num1 = 27であり、 num2273*9 = 27 )と評価されるため、 num1num2の値は等しくなります。 したがって、 !=演算子はFalseを返します。

別の例を見てみましょう。

以下のコードでは、 num1は7に設定され、 num2は文字列7に設定されています。データ型が異なるため、等しくない演算子はTrueを返します。

 num1 = 7 num2 = "7" num1 != num2 # Output: True

次に示すように、文字列を整数にキャストします。

 num1 = 7 num2 = int("7") num1 != num2 # Output: False

この場合、返される結果がFalseであることがわかります。これは、 num1num2が整数7に等しいためです。

リスト、タプル、セットなどのPythonコレクションで不等演算子を使用することもできます。

:リストなどのデータのコレクションの場合、等しくない演算子は、個々の項目の値をチェックすることによって機能します。 たとえば、2つのリストlist1list2 (それぞれ長さn )は、 {0,1,2,3,..n-1} ilist1[i] == list2[i]の場合にのみ等しくなります。

次に例を示します。

 list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True

上記の例では、 list1list2の違いは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
  • obj1obj2の値が等しい場合にTrueを返し、
  • それ以外の場合はFalseを返します。

PythonEqual演算子のコード例

等しい演算子( == )は、等しくない演算子と非常によく似た方法で使用できます。

次の例をコーディングしてみましょう。

  • 2つの文字列が等しいかどうかを確認するには、
  • 数が偶数かどうかを確認し、
  • リスト内包で条件を使用するには

比較のためにPythonの等しくない演算子を使用する

以下のコードスニペットでは、 str1str2の値は同じです。 したがって、 equal演算子( == )はTrueを返します。

 str1 = "coding" str2 = "coding" str1 == str2 # Output: True
python-equals-operator
PythonEqual演算子

条件式で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演算子の間で混乱している可能性があります。 このセクションでそれを明確にしましょう。

前のセクションでは、 str1str2がequalで、 ==演算子がTrueを返す例がありました。

次に、次のコードスニペットを実行します。

 str1 = "coding" str2 = "coding" str1 is str2 # Output: False

str1 is str2であることがFalseを返すことがわかります。

一歩下がって、Pythonの演算子is何をするのかを理解しましょう。

is演算子は、任意の2つのPythonオブジェクトを操作します。
また、2つのオブジェクトが同一である場合、つまりメモリ内の同じオブジェクトを参照している場合にのみTrueを返します。

str1str2と同じですが、 str1はメモリ内の2つの異なるオブジェクトを指しているため、 str2はありません。 したがって、それらは異なるアイデンティティを持っています。

python-is-operator
==とは同じではありません

Pythonでは、 id()関数を使用してオブジェクトのIDを取得できます。

次のコードセルを実行して、 str1str2のIDを取得します。

 id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344

ご覧のとおり、 str1str2の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を返します。

上記のコード例では、 isis notに置き換えてみて、結果を確認してください。

結論

このチュートリアルがお役に立てば幸いです。

要約すると、あなたは次のことを学びました。

  • 等しい== )および等しくない!= )演算子を使用して、2つのPythonオブジェクトが同じ値を持っているかどうかを確認する方法
  • Pythonオブジェクトの同等性同一性の違い、および
  • Pythonの演算子とis not演算子is 、2つのPythonオブジェクトが同一であるかどうかを確認するのに役立ちます。

時間差を計算する方法やPythonでヘビゲームを作る方法についてはこちらをご覧ください。

次のチュートリアルでお会いしましょう。 それまでは、幸せな学習とコーディングを!