들어가기 전 이 글은 이펙티브 파이썬을 공부하며 작성한 글입니다 코드 : https://github.com/chickenchickenlove/effective-python/tree/master/item29 요약 왈러스 연산자를 이용해 컴프리헨션에서 반복 작업을 제거할 수 있음. 이를 통해 가독성 + 성능 향상이 가능함. 컴프리헨션에서 왈러스 연산자를 통해서 선언된 변수는 컴프리헨션 외부 Scope으로 노출됨. 이 부분을 고려해야함. (다른 변수를 오염시킨다거나 하는 부분) Item 29. 왈러스 연산자를 이용해 컴프리헨션 안에서 반복 작업을 피해라. 컴프리헨션에서 같은 계산을 여러 위치에서 공유해서 사용하는 경우가 굉장히 흔하다. 이런 경우에는 반드시 왈러스 연산자를 이용해서 반복된 작업을 줄여줘야한다...
들어가기 전 이 글은 이펙티브 파이썬을 공부하며 작성한 글입니다 코드 : https://github.com/chickenchickenlove/effective-python/tree/master/item16 요약 딕셔너리에 특정 Key에 접근해야하고, 특정 Key가 존재하지 않을 때 기본값을 정의하고 싶다면 항상 get()을 사용해라. sefdefault를 사용하는 것이 더 좋은 경우가 있다면, defaultdict을 사용해라. Item16. 딕셔너리 Key에 대한 접근은 get을 사용하라 딕셔너리에서 특정 Key에 해당되는 Value를 불러온다고 가정해보자. 그러나 특정 Key가 딕셔너리에 없는 경우가 있을 수 있고, 이럴 때 '기본값'을 사용하고 싶을 때가 있다. 이런 경우를 다루기 위해서 크게 4가지..
들어가기 전 이 글은 이펙티브 파이썬을 공부하며 작성한 글입니다. 코드 : https://github.com/chickenchickenlove/effective-python/tree/master/item10 요약 왈러스 연산자를 사용해서 대입식 중복을 줄일 수 있음. 왈러스 연산자는 값을 대입 → 식평가 순서로 처리됨. 왈러스 연산자를 이용해 중복 제거, 무한 루프(While문) 등을 가독성 있게 처리할 수 있음. Item10. 왈러스 연산자를 사용해 반복을 피하라. 왈러스 연산자는 '대입식'이라고도 불린다. if (a:=1) > 1: pass 왈러스 연산자는 위처럼 사용하고, 다음 순서로 처리된다. 변수에 값을 대입 대입된 값을 이용해 식을 평가 코드1. 대입식으로 코드 개선 fresh_fruits =..
들어가기 전 이 글은 이펙티브 파이썬을 공부하며 작성한 글입니다 코드 : https://github.com/chickenchickenlove/effective-python/tree/master/item28 요약 컴프리헨션 내부에는 식을 2개 까지만 사용해라. (루프문 2개 / 루프문1 + 조건문1..) 컴프리헨션 내부에 2개의 루프식이 있는 경우, 왼쪽부터 실행된다. (이중 For문이라고 생각하면 편함. ) Item 28. 컴프리헨션 내부에 제어 하위식을 2개까지만 사용해라. 컴프리헨션 내부에서는 조건문, 루프문 등을 사용할 수 있다. 컴프리헨션 자체는 긴 코드를 짧게 줄일 수 있는 이점이 있지만, 너무 과하게 쓰면 '짧지만 읽기 어려운 코드'가 된다. 컴프리헨션 내부에 식이 3개 들어가는 순간부터 '짧..
들어가기 전 이 글은 이펙티브 파이썬을 공부하며 작성한 글입니다. 코드 : https://github.com/chickenchickenlove/effective-python/tree/master/item45 요약 특정 어트리뷰트에 요구사항이 추가되고, 이를 호출하는 외부 클라이언트에 영향을 주지 않고 확장하고 싶은 경우 @property는 좋은 선택이 될 수 있음. @property를 사용해 데이터 모델을 점진적으로 개선할 수 있음. @property 메서드를 너무 과하게 쓰고 있다면, 클래스와 클래스를 사용하는 모든 코드를 리팩토링 하는 것을 고려해야 함. @property를 너무 많이 사용한 경우, 클래스를 분리하는 방식을 고려해봐야 함. 너무 거대한 @property는 읽기 어려워지고, 클래스로 분..