Pythonの「=」と「==」の違いとは?代入と比較の使い分けを徹底解説
Pythonにおける「=」と「==」の基本的な違い
Pythonでは「=」と「==」はまったく異なる役割を持つ記号です。初心者が混同しやすいポイントですが、それぞれの意味を正しく理解しておくことが重要です。
「=」は代入演算子
Pythonにおいて「=」記号は代入演算子として定義されています。左辺には1つの変数を、右辺には式を置く必要があり、右辺の式が評価された結果の値が、左辺の変数に格納されます。つまり、式と変数名は入れ替えて使うことはできません。
>>> a=10 >>> b=20 >>> c=a+b >>> a,b,c (10, 20, 30) >>> a+b=c SyntaxError: can't assign to operator
上記の例のように、a+b=c のように左辺に式を書くと SyntaxError: can't assign to operator という構文エラーが発生します。これは「=」があくまで変数への代入を行うためのものであり、計算結果を左辺に置くことは許されていないためです。
「==」は比較演算子(等価演算子)
一方、「==」は比較演算子であり、等価演算子(equal to)と呼ばれます。左右のオペランド(被演算子)が等しい場合には True(真)を返し、等しくない場合には False(偽)を返します。
>>> 10+2 == 10 False >>> (10+2) == 12 True >>> 'computer' == 'Computer' False >>> 'computer' == "computer" True
この例からわかるように、「==」による比較では大文字と小文字が区別されます。そのため 'computer' == 'Computer' は False となりますが、文字列の中身が完全に一致していれば、引用符の種類(シングルクォートかダブルクォートか)は結果に影響しません。
まとめ:使い分けのポイント
- =(代入演算子):右辺の値を左辺の変数に代入するために使用します。
- ==(等価演算子):左右の値が等しいかどうかを比較し、真偽値(True/False)を返します。
特に if 文などの条件式で誤って「=」を使うと構文エラーになるため注意しましょう。「値を入れるなら=」「比べるなら==」という基本を押さえておけば、間違いを防ぐことができます。
-
【Python】Tkinterのroot.destroy()とroot.quit()の違いを徹底解説
PythonのGUIライブラリ「Tkinter」では、アプリケーションを終了する方法として destroy() と quit() の2つのメソッドがよく使われます。似たような役割に見えますが、実際には動作が異なります。この記事では、それぞれの違いをサンプルコード付きでわかりやすく解説します。 root.destroy()とは tkinterのウィンドウオブジェクトに対して destroy() メソッドを呼び出すと、mainloop の処理が終了し、ウィンドウ内のすべてのウィジェットが破棄されます。つまり、ウィンドウそのものが完全に閉じられ、バックグラウンドで動作しているインタプリタ(Tcl/T
-
Pythonのtkinterとtkinter.ttkウィジェットの違いとは?スタイリング方法を解説
tkinter.ttkは、tkinterウィジェットのスタイル(見た目)を設定するためのモジュールです。HTML要素にCSSでデザインを適用するように、tkinter.ttkを使うことでtkinterウィジェットの外観を自由にカスタマイズできます。 tkinterウィジェットとtkinter.ttkの主な違い tkinterウィジェットは、ボタン・ラベル・テキスト・スクロールバーなど、基本的なGUI部品を追加するために使用します。一方、tkinter.ttkは標準のtkinterよりも多くの種類のウィジェットをサポートしています。 tkinter.ttkではPlaceやPack()、Grid