私は知っている、VB.netやC#で利用できる例のようなcase文のためのPythonの同等ですか?case/switch文のPythonに相当するものは何ですか?
241
A
答えて
355
official docsはスイッチを提供していないのに対して、私はsolution using dictionariesを見ました。例えば
:
# define the function blocks
def zero():
print "You typed zero.\n"
def sqr():
print "n is a perfect square\n"
def even():
print "n is an even number\n"
def prime():
print "n is a prime number\n"
# map the inputs to the function blocks
options = {0 : zero,
1 : sqr,
4 : sqr,
9 : sqr,
2 : even,
3 : prime,
5 : prime,
7 : prime,
}
そして、同等のスイッチブロックが呼び出されます。
options[num]()
これは、あなたが重くて秋に依存している場合離れて低下し始めます。
81
直接置換は、if
/elif
/else
です。
しかし、多くの場合、Pythonでそれを行うより良い方法があります。 「Replacements for switch statement in Python?」を参照してください。
関連する問題
- 1. Python os.pathsepのRustに相当するものは何ですか?
- 2. pythonのgetattrに相当するものは何ですか
- 3. Go - Pythonの "pass"に相当するものは何ですか?
- 4. このPythonコードに相当するものは何ですか?
- 5. PythonでGNU splitに相当するものは何ですか?
- 6. Pythonで "break"文のBashに相当するものは何ですか?
- 7. 次のPython文に相当するScalaは何ですか?
- 8. distutilsはsetuptoolsの `find_packages`に相当するものは何ですか? (Python)
- 9. Pythonでmatlabのwkeepに相当するものは何ですか?
- 10. ExcelのBetaディストリビューションのPythonに相当するものは何ですか?
- 11. Pythonの "is"演算子のGoに相当するものは何ですか?
- 12. Pythonのos.walkのRubyに相当するものは何ですか?
- 13. 以下の式のpythonに相当するものは何ですか?
- 14. pythonのzip(*)のnumpyに相当するものは何ですか?
- 15. dot netのpythonの "urllib2"に相当するものは何ですか?
- 16. JavaのUnsupportedOperationExceptionのPythonに相当するものは何ですか?
- 17. Javaでこの構文に相当するものは何ですか?
- 18. dataflowのpython zip関数に相当するものは何ですか?
- 19. C++のPython関数デコレータに相当するものは何ですか?
- 20. JuliaLangがPythonのsys.executableに相当するものは何ですか?
- 21. Python関数scipy.sparse.bmatのRに相当するものは何ですか?
- 22. PythonのCelery for Javaプロジェクトに相当するものは何ですか?
- 23. Elasticsearchの(mongodbの)$に相当するものは何ですか?
- 24. Javascriptの.sampleに相当するものは何ですか?
- 25. phpMyAdminのアスタリスク(*)に相当するものは何ですか?
- 26. Visual C++のMy.Resourcesに相当するものは何ですか?
- 27. Debugger.Launch()のJavaに相当するものは何ですか?
- 28. .NETのPHP InfiniteIteratorに相当するものは何ですか?
- 29. NOT INのHQLに相当するものは何ですか?
- 30. @Postconstructのejb-jar.xmlに相当するものは何ですか?
2番目の質問はフォローアップではなく、フォローアップでも別の質問として投稿されます。それに加えて、それは話題にはならず、プログラマーに行くべきです.stackexchange.com。そして、あなたの最初の質問は重複しています。 –