티스토리 뷰
1. EAFP VS LBYL
EAFP - 'It's Easier to Ask Forgiveness than Permission' 의 줄임말 입니다. 허락보다 용서구하는 것이 쉽다.
LBYL - 'Look Before You Leap'의 줄임말입니다. 도약하기전에 봐라. 라는 뜻입니다.
LBYL 스타일은 어떤 것을 실행하기전에 에러가 날만한 요소들을 조건절로 검사를 하고 수행하는 스타일입니다.
EAFP 스타일은 예외처리를 활용하여 검사를 수행하지 않고 일단 실행하고 예외처리를 진행하는 스타일입니다.
- 파이썬은 EAFP 스타일을 권장합니다.
PEP-0463 (이문서가 맞는지 모르겠으나.. 검색해본봐로는...)
EAFP는 Python에서 표준이며, 철학은 예외에 의해 가능합니다.
- 대신 오류 코드를 사용하는 예외가 없으면 오류 처리를 논리의 기본 흐름에 직접 포함시켜야합니다.
- 예외로 인해 메인 플로우가 중단되므로 예외적 인 경우가 아닌 로컬로 처리 할 수 있습니다.
- EAFP와 결합 된 예외는 오류 코드 예외를 쉽게 무시할 수 없기 때문에 우수합니다.
기본적으로 예외는 큰 효과가 있지만 오류 코드는 기본적으로 무음이므로 예외 EAFP- 기본 스타일은 문제를 자동으로 무시하기 어렵게 만듭니다.
LBYL 코딩 스타일
if key in dic:
process(dic[key])
else:
process(None)
# As an expression:
process(dic[key] if key in dic else None)
- EAFP 코딩 스타일
try:
process(dic[key])
except KeyError:
process(None)
# As an expression:
process(dic[key] except KeyError: None)
'python lecture > basic' 카테고리의 다른 글
[edu] Stack/Queue (스택/큐 자료구조) (0) | 2019.02.24 |
---|---|
[edu] 클래스(class) (0) | 2019.02.24 |
[edu] 모듈 만들기 (create module) (0) | 2019.02.21 |
[edu] Test Driven Development (TDD, 테스트 주도 개발) (0) | 2019.02.20 |
pycharm and inteli j 단축키 (0) | 2019.02.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 플러스친구 자동응답
- admin.py
- django
- Python
- django chatbot
- 모바일 테마 적용
- chatbot
- 파이썬
- gitlab
- 이미지 비교
- 문과 코딩
- 장고 카톡 자동응답
- virtualenv
- 파이썬 강좌
- GIT
- gitignore
- 문서 비교
- PuTTYGen
- Tistory
- 파이썬 프로그래밍
- 파이썬 입문
- 면접답변
- 엑셀 비교
- wsgi
- 장고 플러스친구 자동응답
- 면접정답
- 모바일 스킨 적용
- 장고
- pycrypto
- 파이썬 독학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함