Tutorial by Examples



글쎄, switch / case 구조를 원한다면 갈 수있는 가장 직접적인 방법은 좋은 old if / else 구조를 사용하는 것입니다. def switch(value): if value == 1: return "one" if value == 2: return "two" if value == 42: return "the answer to the question about life, the universe and ...
앞으로 나아갈 수있는 또 다른 방법은 함수 사전을 만드는 것입니다. switch = { 1: lambda: 'one', 2: lambda: 'two', 42: lambda: 'the answer of life the universe and everything', } 기본 함수를 추가합니다. def default_case(): raise Exception('No case found!') 사전의 get 메소드를 사용하여 값을 확인하고 실행하는 함수를 가져옵니다. 값이 사전에 없으면 de...
클래스를 사용하여 스위치 / 사례 구조를 모방 할 수 있습니다. 다음은 "case"부분을 해결하기 위해 문자열을 인스턴스의 바운드 메소드로 확인하는 getattr() 함수를 사용하여 클래스의 내부 검사를 사용하는 것입니다. 그런 다음 introspecting 메서드는 __call__ 메서드에 별칭을 지정하여 () 연산자를 오버로드합니다. class SwitchBase: def switch(self, case): m = getattr(self, 'case_{}'.format(case), ...
매우 읽기 쉽고 우아하지만 if / else 구조보다 훨씬 효율적인 또 다른 방법은 다음과 같은 클래스를 작성하여 비교할 값을 읽고 저장하고 컨텍스트 내에서 호출 가능 객체로 노출시키는 것입니다 저장된 값과 일치하면 true를 반환합니다. class Switch: def __init__(self, value): self._val = value def __enter__(self): return self def __exit__(self, type, value, traceba...

Page 1 of 1