댄 베이더 지음 | 전석환 옮김
목차
assert(단언)문 : 프로그램 내부 자체 검사로 조건을 테스트하는 디버깅 보조 도구
참이면 아무일 없고, 거짓이면 AssertionError 발생
def apply_discount(product, discount):
price = int(product['price'] * (1.0- discount))
#expression 1 조건문 expression 2 에러 메세지
assert 0 <= price <= product['price'], "im sorry"
return price
shoes = {'name': "jordan", 'price' :14900}
print(apply_discount(shoes,2))
주의 사항 1. 데이터 유효성 검증에 단언문을 사용하지 말자
당연히 이런건 if 문으로 대체해야 한다. 나중에 prod level에서는 PYTHONOPTIMIZE 환경 변수를 사용하여 단언문을 비활성화 시키기 때문
주의 사항 2. 절대 실패하지 않는 단언문
assert (1 == 2, ‘This should Fail’) 이렇게 튜플을 단언문에 넘기면 단언 조건이 항상 참이된다.
git diff때 헷갈리니까 리스트는 names = [’Alice’, ‘Bob’] 이렇게 말고
names = [ ’Alice’, ‘Bob’, ] 이 형식으로 저장하자. 마지막 항목에도 , 를 넣어주자. 실수를 줄일 수 있다.