とても残念なことに、Pythonにはswitch/case構文がない(もちろん予約語でさえない)。
一般的には、この機能を実現するのにif~elif~elseを使えばよいということになっている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
def switch(n): if n == "first": return "one" elif n == "second": return "two" elif n =="third": return "three" else: return "Default" print(switch("first")) print(switch("second")) print(switch("third")) print(switch("what")) # one # two # three # Default |
いくつかの(いや多くの)素敵なサイトでdictionaryを使えばいいよ、と教えてくれるのに出会った。
「構文」として定まっていはいないが、かなり見やすいように思う。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
def switch(n): if n == "first": return "one" elif n == "second": return "two" elif n =="third": return "three" else: return "Default" print(switch("first")) print(switch("second")) print(switch("third")) print(switch("what")) # one # two # three # Default |