Pythonでは他のプログラミング言語でみられるようなswitch文やcase文は存在しません。
この記事では、switch文やcase文を使わない記述方法を紹介します。
switch文の代用としてif-elif-else文を使う
Pythonではswitch文の代用としてif-elif-else文がよく使われます。
1 2 3 4 5 6 7 8 9 |
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 辞書」という記述方法を使えばより簡潔に記述できます。
1 2 3 4 5 6 7 8 9 |
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のブロック内の処理を行います。