【Python】短絡評価 知らないと消耗する?【Tips】

【Python】短絡評価 知らないと消耗する?【Tips】

短絡評価というのは、Pythonだけのものではありません。
様々なプログラミング言語で実装されているものです。
この手法を知ることで、コードのスリム化が飛躍的に進むのでお勧めです。ぜんぜん難しくないので、詳しく見ていきましょう。

出典:http://www.photo-ac.com/

Pythonの短絡評価について

短絡評価とは

短絡評価とは、たいそうな名前がついていますが、簡単に言うとプログラミング言語の論理演算子における左辺と右辺の式の評価法のひとつです。

採用されている言語はどれも有名な者ばかりです。
列挙してみますと、

  • Ada
  • ALGOL 68
  • C言語
  • C++
  • C#
  • Java
  • JavaScript
  • Lisp
  • Perl
  • Python
  • Visual Basic
  • Visual Basic .NET

短絡評価を見てみよう

y = False and X()

のような式があった場合、andの左側がFalseなので、andの右側がTrueであろうがFalseであろうが右辺はFalseと確定します。それゆえ、andの左側がFalseであると確定した時点でandの右側に対しては何も調べる必要がないのです。このような評価の仕方を短絡評価と呼びます。

orについても同様で、

y = True or X()

のような場合、orの左側がTrueであると判明した時点で右辺はTrueと確定します。X()は評価(実行)されません。

短絡評価のまとめ

and や or の右辺で関数やメソッドを呼び出して、処理させる場合は、左辺の結果により実行されないことがあるので十分に気を付けるということを知っておいてもらいたい。

and と or の 左辺値x 右辺値y と返り値の関係を表にまとめておこう。

x y x and y x or y
y x
x y
y x
x y

Pythonおすすめ書籍

最初の2冊は初心者向けです。Effectiv Pythonはこの2冊を終えてから読むとかなりわかりやすく感動できると思います。

基礎 Python (IMPRESS KISO SERIES)

新品価格
¥6,200から
(2020/4/21 20:50時点)

入門 Python 3

新品価格
¥4,070から
(2020/4/21 20:53時点)

Effective Python ?Pythonプログラムを改良する59項目

新品価格
¥3,520から
(2020/4/21 20:52時点)

え?まだ、独学で消耗しているの??

【スクール】今流行りのプログラミングスクールについて徹底的に調べてみた