Pythonにはswitch文がありません

Pythonですが、他の言語(C言語やJavaなど)にあるswitch文がありません。

なぜないのか理由はわからないのですが少し不便ですね。

スポンサーリンク

Pythonにはswitch文がない

Pythonには他の言語(C言語やJavaなど)にあるswitch文がありません。

switch文とは例えばC言語なら

int c = 1 ;
switch( c ){
    case 1 :
        printf( "cは1です。\n" ) ;
        break;
    case 2 :
        printf( "cは2です。\n" ) ;
        break;
    case 3 :
        printf( "cは3です。\n" ) ;
        break;
    default :
        printf( "cは1、2、3以外です。\n" ) ;
        break;
}

のようにある変数の値を複数の選択肢で尋ねるのに便利な表現です。
(上記でいうと、「cは1ですか?2ですか?3ですか?それともそれ以外ですか?」と。)

このような文法がPythonには存在しません。

なのでどうしてもswitch文のようなことをしたければ

cnt=1
if cnt == 1 :
    print( 'cは1です。' )
elif cnt == 2 :
    print( 'cは2です。' )
elif cnt == 3 :
    print( 'cは3です。' )
else :
    print( 'cは1、2、3以外です。' )

のように「if、elif、else」を使って書くことになります。

なんだか条件を何度も書くのが面倒な気もしますね。

まとめ

PythonにはC言語やJavaにあるswitch文がないので「if、elif、else」を使って表現します。

以上、Pythonにはswitch文がありませんでした。

タイトルとURLをコピーしました