pythonにswitch文がない経緯・理由

一連の if ... elif ... elif ... は、他の言語における switch 文や case 文の代用となります。

4. その他の制御フローツール — Python 3.4.3 ドキュメント より

デザインと歴史 FAQ — Python 3.4.3 ドキュメント

 

結局公式ドキュメントの説明のとおり、if... elif... elif... else の繰り返しで簡単に同じことができるため導入する必要がないとのこと。

 

また以下のような辞書式を利用することでも同じ結果が得られる。

 


#!usr/bin/python
import sys
N=int(sys.argv[1])
switch_dictionary = {
 1 : 'switch',
 2 : 'if ... elif ... elif ...',
 3 : 'dictionary',
}
print switch_dictionary[N]