일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- docker
- RabbitMQ
- guru
- 알고리즘
- Container
- Network
- BlockChain
- 플랫폼
- Ethereum
- dockerfile
- Algorithm
- 러스트
- Thread
- fluent python
- 이더리움
- function
- IMAGE
- 동시성
- rust
- AWS
- Refactoring
- Python
- 전문가를 위한 파이썬
- Kubernetes
- BAEKJOON
- 블록체인
- Fast API
- 파이썬
- 코어 이더리움 프로그래밍
- 백준
- Today
- Total
글쓰기 | 방명록 | 관리 |
목록파이썬 (5)
Victoree's Blog
7.1 Future Future은 비동기 작업의 실행 객체이다. future 객체는 concurrent.futures 라이브러리나 asyncio에서 future 객체를 이용할 수 있다. 이 두 Future 클래스 객체는 완료되었을 수도, 아닐수도 있는 지연된 계산을 표현하기 위해 사용된다. Future는 앞으로 일어날 일을 나타내고, 이 실행을 스케줄링하는 프레임워크만이 어떤 일이 일어날지 확실히 알 수 있기 때문에 동시성 프레임워크에서만 배타적으로 생성해야한다. 또한 Client에서 Future의 상태를 변경하면 안된다. 실행 여부를 체크하려면 done() 메소드를 호출함으로 알 수 있고, 일반적으로 클라이언트는 Future가 완료되었는지 물어보는게 아니라 callback으로 통지해주는 것을 요청한다...
1. 일급 객체와 고위 함수 파이썬에서는 함수도 일급 객체이다. 일급 객체란 다른 객체들에 일반적으로 적용가능한 연산을 제공하는 객체이다. 런타임에 생성 가능 데이터 구조체의 변수나 요소에 할당 가능 함수 인수로 전달 가능 함수 결과로 반환 가능 고위 함수란 함수를 인수로 전달하거나 함수로 결과를 반환할 수 있다. 데코레이터도 고위함수에 속한다. 대표적인 함수로 map, filter, reduce, lambda 등이 있다. map, filter, reduce 같은 함수들은 사실 제너레이터 표현식과 지능형 리스트 이후 중요도가 좀 떨어졌다. reduce는 합계용 함수로, 다른 reduction 함수로는 all(), any() 등이 있다. 이런 reduction 함수는 특정 결과를 하나의 값에 누적한다. s..
딕셔너리는 파이썬의 핵심이다. 기본적인 dict 외에 표준 라이브러리에서 defaultdict, OrderedDict, ChainMap, Counter 등의 매핑형을 제공하며 이는 모두 collections 모듈에 정의되어 있다. 매핑 API 에서는 __missing__() 메소드는 키를 찾을 수 없을 때 발생하는 일을 정의할 수 있게 해준다. 1.1 딕셔너리 조기 실패 철학에 따라, 존재하지 않는 k로 dictionary에 접근하면 dict는 오류를 발생시킨다. 만약 기본값을 설정하고 싶다면 다음과 같이 세팅할 수 있다. my_dict.setdefault(key, []).append(new_value) if key not in my_dict: my_dict[key]=[] my_dict[key].appe..
시퀀스 지능형 리스트와 제너레이터 표현식은 시퀀스를 생성하고 초기화하는 강력한 표기법이다. 튜플은 익명 필드를 가진 레코드 및 불변 리스트로 사용할 수 있다. 튜플을 레코드로 사용할 때는 튜플 언패킹이 필드에 접근하는 가장 안전하고 가독성 좋은 방법이다. sort()와 sorted() 내장 함수는 사용하기 쉬우며, 선택적인 key 인수에 정렬을 계산하는 함수를 지정할 수 있으므로 융통성도 뛰어나다. 정렬된 시퀀스의 순서를 유지하면서 항목을 추가하려면, bisect.insort() 메소드를 사용하고, 정렬된 시퀀스를 효율적으로 검색하려면 bisect.bisect() 메소드를 사용하자. 1.1 지능형 리스트와 제너레이터 표현식 시퀀스를 읽어서 개수를 세거나 어떤 항목을 골라내거나 합계를 구하는 등 for 루..
파이썬의 최고 장점 중 하나는 일관성이다. 파이썬으로 어느 정도 작업을 해본 이후에는 새로운 기능을 구현할 때에도 어느정도 예측이 가능하다. 다른 객체 지향 언어에서는 collection.len() 의 방식으로 함수를 사용하지만, 파이썬에서는 len(collection)이라고 사용하는 것이 크게 이상하지 않다. 챕터 1에서는 Pythonic(파이썬스러움)과 파이썬 데이터 모델에 대해 설명한다. 1. 아래는 collection 라이브러리를 이용해 Card 클래스를 정의한 코드이다. import collections Card = collections.namedtuple('Card', ['rank', 'suit']) 실제 업무에서 작업할때는 위 라이브러리를 거의 사용해본 적이 없는 것 같다. 알고리즘 문제 풀..