본문 바로가기

개발/Python

[Python] Guardian Pattern(가디언 패턴)

가디언 패턴은 예외처리가 날 것 같은 부분을

단락 평가를 이용하여 처리하는 방법이다

 

단락평가를 요약하자면

or 의 왼쪽 조건이 True이거나

and의 왼쪽 조건이 False이면 

오른쪽 조건을 확인 하지 않고 바로 연산을 처리하는 것이다

 

이것을 이용해서 

오른쪽 조건은 왼쪽조건이 충족해야지만 에러가 나지 않는 코드에 적용하면 된다

 

예시 코드이다

내용은 텍스트에서 From으로 시작하는 문장의 3번째 단어인 요일을 출력하는 것이다

file = open('mbox-short.txt')

for line in file:
    line = line.rstrip()
    words = line.split()

    if len(words) < 3 or words[0] != 'From' :
        continue
    print(words[2])

텍스트에서 한 문장이 아예 비어있거나 단어가 모자르면

( len(words)=0 이면, 왼쪽 조건이 True이면 )

or의 왼쪽 조건이 True가 되기 때문에 

오른쪽 조건인 words[0] !='From'을 확인 하지 않고도 해당 반복문 차례를

continue시켜서 예외처리를 하는 것이다

 

 

 

Reference : 모두를 위한 파이썬 8주차:실습