Pythonスイッチケース文を実装するための2つの簡単な方法
25リアルタイムプロジェクトと無料のPythonコースは今すぐ開始!!
前回のPythonチュートリアルでは、Python3でのXML処理について検討しました。 今日は、PythonのSwitch Case文を実装する方法を検討します。
Javaプログラミング言語やC++のような他の言語とは異なり、Pythonはスイッチケース構造を持っていません。 これに加えて、Python switch case文の抜け穴をどのように動作させるかを見ていきます。
だから、のは、Pythonのスイッチケース文のための実装のさまざまな方法を議論してみましょう。P>
Pythonのスイッチケース文を実装する2つの簡単な方法
Pythonのスイッ
Pythonには単純なswitch-case構造はありません。 JavaまたはC++の背景から来て、あなたはこれが少し奇妙であることがわかります。C++やJavaでは、次のようなものがあります。
string week(int i){ switch(i){ case 0: return "Sunday” break; case 1: return "Monday” break; case 2: return "Tuesday” break; case 3: return "Wednesday” break; case 4: return "Thursday” break; case 5: return "Friday” break; case 6: return "Saturday” break; default: return "Invalid day of week” } }
しかし、Pythonはこれを持っていません。したがって、これを回避するために、Pythonの組み込み辞書構造を使用してケースを実装し、ケースが満たされたときに何をすべきかを決定しました。
何も満たされていないときに何をすべきかを指定することもできます。Python Switch Case文の解決策
一つの方法は、if-elif-elseラダーを実装することです。 むしろ、辞書を使用してケースをその機能にマップすることができます。
ここでは、特定の曜日がどの曜日であるかを示す関数week()を定義します。 スイッチャーは、このマッピングを実行するディクショナリです。p>
>>> def week(i): switcher={ 0:'Sunday', 1:'Monday', 2:'Tuesday', 3:'Wednesday', 4:'Thursday', 5:'Friday', 6:'Saturday' } return switcher.get(i,"Invalid day of week")
今、私たちは、異なる値でweek()への呼び出しを行います。div>
>>> week(2)
出力
>>> week(0)
出力
>>> week(7)
出力
>>> week(7)
出力
>>> week(7)
出力
>>> week(7)
出力
>>> week(7)
出力iv id=”無効な曜日”iv id=”無効な曜日”
>>> week(4.5)
output
ご覧のように、スイッチャーで言及した値以外の値については、”invalid day of Week”が出力されます。 これは、辞書のget()メソッドを使用してそうするように指示するためです。
a. Python関数を使用する&Lambdas
辞書で関数とラムダを使用することもできます。
出力
>>> def zero(): return 'zero'>>> def one(): return 'one'>>> def indirect(i): switcher={ 0:zero, 1:one, 2:lambda:'two' } func=switcher.get(i,lambda :'Invalid') return func()>>> indirect(4)
出力
>>> indirect(2)
出力
>>> indirect(1)
出力
>>> indirect(1)
出力
>>> indirect(1)
出力
>>> indirect(1)
出力
>>> indirect(1)
出力
>>> indirect(1)
出力
b.pythonクラスで
この概念をクラスで使用すると、実行時にメソッドを選択できます。Div>
>>> class Switcher(object): def indirect(self,i): method_name='number_'+str(i) method=getattr(self,method_name,lambda :'Invalid') return method() def number_0(self): return 'zero' def number_1(self): return 'one' def number_2(self): return 'two'>>> s=Switcher()>>> s.indirect(2)
出力
>>> s.indirect(4)
出力
>>> s.number_1()
出力
だから、これはすべてのpythonのスイッチケース文についてでした。 あなたが私たちのチュートリアルが好き願っています。P>
PythonのSwitch case文に関するインタビューの質問
- Pythonにはswitch case文がありますか?
- Pythonでスイッチケースをどのように実装しますか?
- Pythonのswitch文のケースは何ですか?
- 例でPythonのスイッチケース文を説明します。Pythonのswitch文にはいくつのケースがありますか?
結論
したがって、Pythonには組み込みのswitch-case構造がないと結論付けます。