yojikのlog

yojikのブログです

switch-case on Python

はぶあきひろさんの日記の本題と全く関係無いところに反応。

switch-case? 使わないな??。Pythonにないし。

なんだかんだいってswitch-case使いたい人はいるみたいで(switchもないのかよーと近所の子供にいじめられないように?)、提案がでてます。やっぱりインデントどうするかで、色々悩んでる形跡あり。
現状のPythonでSwitch-caseっぽいことやりたい場合はこんな感じらしい。
http://www-128.ibm.com/developerworks/library/x-matters46/*1

def post(args):
    いろいろ処理
def put(args):
    いろいろ処理
def get(args):
    いろいろ処理
def main():
    method = os.environ.get('REQUEST_METHOD', 'GET')
    いろいろ省略
    dict(POST=post,
         PUT=put,
         GET=get)[method](args)
if __name__ == '__main__':
    main()

これ、いいね!!

*1:ちなににこの記事もマイクロフォーマットとJSONの話で本題と全く関係なし!