안녕세계

[Python] switch 문 구현 본문

[Python] switch 문 구현

Junhong Kim 2019. 1. 16. 23:26
728x90
반응형


파이썬에는 switch 문이 없지만 switch 문과 동일한 기능을 하는 함수를 만들어 사용할 수 있습니다.


[방법1] 함수로 구현한 switch 문

def switch(value):
    return {
        'a': 'Apple',
        'b': 'Banana'
    }.get(value, -1) # value 값이 존재하지 않을때 default 값으로 -1을 반환합니다.

print(switch('a'))
# Apple
print(switch('c'))
# -1 


[방법2] 함수로 구현한 lambda switch 문

def switch(value):
    return {
        'a': lambda x: x*10,
        'b': lambda x: x+10
    }[value](10)

print(switch('a'))
# 100


[템플릿1] 

result = {     'a': 'Apple',     'b': 'Banana' }.get('a', -1)


print(result)

# Apple


[템플릿2] 

result = {     'a': lambda x: x*10,     'b': lambda x: x+10 }['a'][10]


print(result)

# 100

References

https://stackoverflow.com/questions/60208/replacements-for-switch-statement-in-python


728x90
반응형
Comments