Python Asyncio
·
python/파이썬 코딩의 기술
지난 포스트에서는 동시성과 병렬성에 대해 아래와 같이 다루어봤다. 동시성 병렬성의 개념, 스레드와 코루틴의 개념 스레드 심화. 스레드의 lock, queue를 이용하는 방법 이번에는 책 '파이썬 코딩의 기술'의 7장, 파이썬 공식문서 내용을 포함해서 asyncio에 대해 비교적 자세히 다뤄보겠다. 책 리뷰보단 공식문서를 더 차용한 거 같아 이번 시리즈 제목은 간단하게 asyncio로 간다. 파이썬 코루틴 공식문서 : https://docs.python.org/ko/3/library/asyncio-task.html 지난글 1: https://hi-lu.tistory.com/entry/파이썬-코딩의-기술-리뷰-동시성과-병렬성-1 지난 글 2: https://hi-lu.tistory.com/entry/Thre..
파이썬 코딩의 기술 리뷰 - 메타클래스와 애트리뷰트 1
·
python/파이썬 코딩의 기술
책 '파이썬 코딩의 기술'의 6장인 메타클래스와 애트리뷰트에 대해서 정리해보고자 한다. 애트리뷰트 @property 동적 기능을 위한 애트리뷰트 메서드 0. 정의 메타클래스 : 정의 : 클래스를 넘어서는 개념, class문을 이용해 클래스가 정의될 때마다 특별한 동작 제공 예시 : 동적으로 애트리뷰트 접근을 커스텀화해주는 내장 기능 주의 : '최소 놀람의 법칙' 에 따라 뜻하지 않은 부작용을 피하기 1. 애트리뷰트 다른 언어를 사용할 때는 class 내부에 getter, setter를 명시해준다. 하지만 파이썬은 그럴 필요가 없다. 공개 애트리뷰트(self로 시작하는, 클래스에서 명시한 변수)를 이용하면 된다. # 1. setter, getter 사용 에시 class OldOne: def __init__..
파이썬 코딩의 기술 리뷰 - 클래스, 인터페이스
·
python/파이썬 코딩의 기술
파이썬 코딩의 기술 책 5장 내용인 클래스와 인터페이스에 대해 리뷰를 하겠다. collections.abc와 믹스인에 대해서는 다루지 않겠다. 훅 , __call__ 애트리뷰트 @classmethod super 번외 - collections.abc 1. 훅 훅은 파이썬 내장 API를 호출할 때, 동작을 원하는 대로 바꿀 수 있는 함수이다. 예시를 보면 이해하기 쉬운데, 다음과 같이 sort에서 들어가는 len 함수가 훅이라고 할 수 있다. tmpl = ['a','bb','ccc','abcd'] tmpl.sort(key = len) # len 이 훅! 또 다른 예시는 defaultdict에서 사용할 때다. defaultdict에서 딕셔너리가 변경될 때마다 print 하는 함수를 만들고, 이를 훅으로 사용할..
파이썬 코딩의 기술 리뷰- 동시성과 병렬성 1
·
python/파이썬 코딩의 기술
이번에는 책의 7장 내용인 '동시성(concurrency)과 병렬성(parallelism)'에 대해 먼저 정리하겠다. 주로 개념들을 잡고 가는 기록이 될 듯하다. 동시성 , 병렬성 subprocess thread coroutine 개념잡기 - 동시성 & 병렬성 동시성 동시성은 실제로 동시에 작업되는 것은 아니지만, 프로그램을 아주 빠르게 번갈아가며 실행되게 하는 것이다. 그렇기 때문에 작업속도가 빨라지는 일은 거의 없지만, 지연 시간이 있는 실행 경로가 많은 프로그램들을 동시성으로 작업하면 속도가 빨라질 수 있다. 병렬성 병렬성은 같은 시간에 다른 작업을 실제로 같은 시간에 처리하는 것이다. 실제로 병렬적으로 실행되기 때문에 속도가 빨라진다. CPU 코어가 여러 개일 때를 예시로 들 수 있다. cf.) ..
파이썬 코딩의 기술 리뷰 - self와 cls, bytes와 str, f-문자열, 왈러스 연산자
·
python/파이썬 코딩의 기술
오늘은 책 '파이썬 코딩의 기술'을 읽고 파이썬으로 코딩하는 데에 유용한 내용들을 정리해보고자 한다. 이 책의 챕터는 다음과 같이 구성되어 있다. 파이썬답게 생각하기 리스트와 딕셔너리 함수 컴프리헨션과 제너레이터 클래스와 인터페이스 메타클래스와 애트리뷰트 동시성과 병렬성 강건성과 성능 테스트와 디버깅 협업 이 중에서 첫 번째인 1. 파이썬답게 생각하기 중 일부를 기술하겠다. 1. 들어가면서 이번 챕터의 제목은 '파이썬답게 생각하기'다. '파이썬답게'란 무엇일까? 파이썬은 컴파일러의 엄격한 통제, 강요가 있는 스타일이 아니다. 파이썬은 1. 단순한 걸 좋아하고, 2. 가독성을 최대한 높이려 한다. 이제 두 키워드가 나왔다. '단순', 그리고 '가독성'. 2. PEP 8 스타일 가이드 -명명 규약 PEP 8..
lu.na
'Python' 태그의 글 목록