Pythonでのswitch文の書き方

Pythonでは他のプログラミング言語でみられるようなswitch文やcase文は存在しません。
この記事では、switch文やcase文を使わない記述方法を紹介します。

switch文の代用としてif-elif-else文を使う

Pythonではswitch文の代用としてif-elif-else文がよく使われます。

str = "A"
if str = "A" or str == "B":
    print "a or b"
elif str == "C":
    print "c"
elif str == "D":
    print "d"
else:
    print "unknown"

上のプログラムでは「str == "A"」の条件式をみたすので、「a or b」が表示されます。

さらに簡潔な書き方

上の例では「str == "A" or str == "B"」のように「str ==」の部分を何度も記述しなければなりませんでした。

このような場合は「if x in 辞書」という記述方法を使えばより簡潔に記述できます。

str = "A"
if str in {"A", "B"}:
    print "a or b"
elif str == "C":
    print "c"
elif str == "D":
    print "d"
else:
    print "unknown"

「if x in 辞書」は「x」が辞書の中に含まれているならifのブロック内の処理を行います。


イベント

2017/12/05(火)
Design Thinking Square