MAGAZINE

キャリテク!マガジン

コラム

Pythonで使える演算子をまとめてみた。(演算子・論理演算子・比較演算子)

こんにちは、吉政創成 菱沼です。

さて今回も「Pythonによるネットワーク自動化の教科書」という書籍を片手に学習していきます。
Pythonに興味がある!という超初心者の方、ぜひ一緒に学習していただければ幸いです。

さて、前回はPythonのインタプリタを使って簡単なPythonスクリプトの実行をしてみました。
今回はPythonで使える演算子をまとめてみたいと思います。

Pythonで演算子を使ってみよう!

ここからは1.3の章「Pythonを使ってみよう」に入っていきます。
特に珍しいものはないと思いますが、まずはPythonで使える演算子をまとめます。その後、それぞれを実行し、その結果を確認していきます。

なお、テキストではコマンドプロンプトを利用しているので、ここで掲載する画面はコマンドプロンプトで実行したものを利用しますが、IDLEのインタラクティブモードでも同じことが行えます。

コマンドプロンプトで試される方は、コマンドプロンプトを起動して、[python]を入力・実行すると、Pythonのインタプリタが起動します。

引用:1.3.1.1 演算子

代表的な算術演算子は四則演算です。足し算(+)、引き算(-)、掛け算(*)、割り算(/)の四則演算から始めましょう。

Python インタプリタにプライマリプロンプトが表示されたら、次のように計算式を入力します。演算式1 行の入力が終わったら、Enter キーを押します。そうすると、その次の行に演算結果が表示されます。

この四則演算では数字だけを処理しており、整数型(int)と呼ばれるオブジェクトを操作しています。
整数型(int)を含むデータ型については、別章で改めて説明します。

整数型(int)には、四則演算の他に、割り算の整数部を求める「//」演算子、割り算の剰余を求める「%」演算子、そしてべき乗を求める「**」 演算子があります。

ここで一応文中に出てきた演算子を表でまとめておきます。

足し算a + b
引き算a - b
かけ算a * b
割り算a / b
割り算(切り捨て)a // b
割り算(あまり)a % b
べき乗a ** b

ちなみに引用文中にある整数型(int)は半角数字のことです。全角の数字だと文字列型(str)になりますので、計算はできません。

また、文字列型、整数型はデータ型の種類になりますが、それぞれは互いに変換することが可能です。なので、文字列型のデータと整数型のデータを足し算したいのであれば文字列型を整数型に変換してあげるか、整数型を文字列型に変換してあげる必要があります。

こちらは逆パターン。

Pythonで使える論理演算子とは?

では次に論理演算子です。 AとBは~(and)とか、AかBは~(or)とかのあたりです。

引用:1.3.1.2 論理演算子

Python には、論理演算を行うための演算子として、論理積(and)、論理和(or)、否定(not)があります。

(中略)

論理演算子は、not > and > or の優先順位に従って解釈されます。よって、次のような式では、not が先に解釈されます。

上記の式で、or を先に解釈したい場合は、括弧で囲んでください。


まず、各項目を表にまとめます。説明のところに入っている文章はテキストからの引用文です。
優先順位論理演算子引用:説明文
1not(否定)X not Y値の否定を返します。真(True)の否定は、偽(False)です。
2and(論理積)X and YXを評価します。Xが偽の場合はXの値を返します。Xが真の場合はYの値を評価し、その結果を返します。2 つのオブジェクトの値がどちらも真(True) である場合、真(True) を返します。
3or(論理和)X or YXを評価し、Xが真であれば、Xの値を返します。そうでない場合は、Yの値を評価し、その結果を返します。2 つのオブジェクトの値のいずれかが真(True)の場合、真(True)を返します。

演算子の優先順位について、以下のURLも案内されています。興味がある方は是非ご一読ください。
https://docs.python.org/ja/3/reference/expressions.html#operator-precedence

では、テキストにサンプルがあったので、それぞれを実行してみます。

①not

②and

③or

TrueやFalseだけだとちょっとわかりにくいですが、実際に使う時は比較演算子と一緒に使うことになります。

というわけで、次は比較演算子です。

Pythonで使える比較演算子は?

では次に、比較演算子についてまとめます。

引用:1.3.1.3 比較演算子

比較演算子※には、<、>、==、>=、<=、!= があります。これらは2 つのオブジェクトの値を比較し、真(True)か偽(False)を返すものです。比較する2つのオブジェクトは、同じデータ型である必要はありません。
https://docs.python.org/ja/3/reference/expressions.html#comparisons

一応表形式に。

a < baはbより小さい
a > baはbより大きい
a == baとbは等しい
a <= baはbと等しいか小さい
a >= baはbと等しいか大きい
a != baはbと等しくない

テキストでは数字で比較していますが、文字列同士の比較もできます。
以下では同じ文字列かを確認していますが、リストになっているものの中身も比較できるそうです。

では、ここで先ほどの論理演算子と組み合わせます。

さて、さらに条件分岐(if文)と組み合わせると、よりプログラム感が増してきますが、長くなってしまうので次回にしたいと思います。

ということで、今回はこちらで終了です。お付き合いいただき、ありがとうございました。

未経験で、インフラエンジニアを目指す方は、AltX社の未経験者向けインフラエンジニア採用情報をご覧ください。
https://www.altx.co.jp/careetec/requirements/


過去の連載記事

  1. Pythonを起動してみよう(Windows/macOS/Linux)
  2. Pythonをインストールしてみよう(Windows/macOS/Linux)
  3. Pythonとリファレンス実装
  4. Pythonのコーディング規約、PEP8とは何者か。
  5. Pythonを使ったネットワーク自動化を学ぶことになりました。
facebook シェアシェア
LINE シェアシェア