[python] try/ except /finally/else
·
python/파이썬 코딩의 기술
이번 포스트는 파이썬의 try / except / else / finally 블록에 대해 다루고자 한다. 전반적인 내용은 책 '파이썬 코딩의 기술' 8장인 강건성과 성능에 기반한다. try/except finally else 이전 글 : 2022.03.01 - [파이썬] - Thread - 파이썬 코딩의 기술 리뷰[동시성과 병렬성 2] Thread - 파이썬 코딩의 기술 리뷰[동시성과 병렬성 2] 저번 포스트에서 책의 7장 내용인 '동시성(concurrency)과 병렬성(parallelism)'에 대해 간략히 개념을 잡았다. 이번에는 thread의 약간 심화 버전으로 정리를 해보려고 한다. 지난 글: https://hi-lu.tistory.c. hi-lu.tistory.com 1. try / except..
파이썬 코딩의 기술 리뷰 - 메타클래스와 애트리뷰트 1
·
python/파이썬 코딩의 기술
책 '파이썬 코딩의 기술'의 6장인 메타클래스와 애트리뷰트에 대해서 정리해보고자 한다. 애트리뷰트 @property 동적 기능을 위한 애트리뷰트 메서드 0. 정의 메타클래스 : 정의 : 클래스를 넘어서는 개념, class문을 이용해 클래스가 정의될 때마다 특별한 동작 제공 예시 : 동적으로 애트리뷰트 접근을 커스텀화해주는 내장 기능 주의 : '최소 놀람의 법칙' 에 따라 뜻하지 않은 부작용을 피하기 1. 애트리뷰트 다른 언어를 사용할 때는 class 내부에 getter, setter를 명시해준다. 하지만 파이썬은 그럴 필요가 없다. 공개 애트리뷰트(self로 시작하는, 클래스에서 명시한 변수)를 이용하면 된다. # 1. setter, getter 사용 에시 class OldOne: def __init__..
파이썬 코딩의 기술 리뷰 - 함수
·
python/파이썬 코딩의 기술
이번 3장에서는 새로운 기술을 알려준다기보단 어떻게 함수를 짤 때 좋은 코드를 작성할 수 있는지에 대한 팁이 많이 녹아져 있었다. 따라서 이번 편에서는 1. 함수 작성 팁과 2. 데코레이터에 대해 기술하겠다. 키워드 인자, 디폴트 인자 설정에 대해서는 정리하지 않을 예정이다. 1. 함수 작성 팁 함수 return값에 4개 값 이상을 언패킹 하지 말기 너무 많은 값을 한꺼번에 언패킹하면 가독성이 떨어지고, 나중에 함수를 바꾸거나 재사용할 때 순서를 혼동하는 등 어려움이 발생한다. #ex : 많은 값을 언패킹하지 말자! def my_function(a, b): return a+b, a/b, a*b, a*2, a**2, b**2 add_result, * = my_function(a = 2, b = 3)​ re..
파이썬 코딩의 기술 - 리스트, 딕셔너리
·
python/파이썬 코딩의 기술
책 '파이썬 코딩의 기술'에서 2장 내용인 리스트와 딕셔너리에 대해 다뤄보도록 하겠다. 슬라이드, 슬라이싱에 대해선 정리하지 않을 예정이다. 다룰 항목은 다음과 같다. 언패킹 key dic get setdefault defaultdic 1. 언패킹 * (별표식)으로 값들을 다음과 같이 언패킹 할 수 있다. 이 *식은 리스트 인스턴스가 된다. def my_function(): ... return a, b, c, d, e #언패킹 no 사용 a, b, c, d, e = my_function #언패킹 사용 예 1: a,b만 필요할 때 a, b, * = my_function #언패킹 사용 예 2: 맨 앞뒤 return값만 필요할 때 a, *bdc, e = my_function 별표식이 항상 리스트를 만들기 때문..
lu.na
'이펙티브 파이썬' 태그의 글 목록