댄 베이더 지음 | 전석환 옮김

목차

  1. 파이썬 코드를 정돈하기 위한 패턴
  2. 효과적인 함수
  3. 클래스와 OOP
  4. 파이썬의 일반 데이터 구조
  5. 반복과 이터레이션
  6. 딕셔너리 트릭

2장 파이썬 코드를 정돈하기 위한 패턴

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’, ] 이 형식으로 저장하자. 마지막 항목에도 , 를 넣어주자. 실수를 줄일 수 있다.