파이썬에서 스위치/케이스 메커니즘을 구현하려고합니다. 여러 웹 사이트 및 질문 (예 : this one)을 읽은 후 아래 코드를 작성했습니다. 그러나 그것은 내가 이해할 수있는 것을 가지고있어서 틀린 행동을합니다. 심지어는 problematic to get이 될 수 있습니다. 내가 그것을 실행하면스위치/케이스의 파이썬 사전 교체 FAQ
def something():
print 'something'
def somethingElse():
print 'something else'
def switch():
cases = {
0: something(),
1: something(),
2: something(),
3: something(),
4: something(),
5: something()
}
cases.get(2, somethingElse())
switch()
내가 something()
한 번만 실행되도록 기대
(물론 모든 경우에 대해 동일 스위치는 단지 예를 위해입니다) (나는 수동으로 입력 2
). 그러나 콘솔의 출력은 다음과 같습니다.
something
something
something
something
something
something
something else
이것은 기본 값 실행과 함께 6 회 실행되었음을 의미합니다. 나는이 코드에서 그러한 추락을 허용하는 것을 이해할 수 없다. 아니면 문제가 다른가요?
여기는 Python 2.7.12입니다.
감사합니다 마찬가지로, 실수'()'함수를 실행하는 것 대신에 분명했다. 귀하의 측면 의견을 주셔서 감사합니다, 나는 그 문제를 해결합니다. – adamczi