Home
SR's Dev-Log
Cancel

[Better Way #13] 슬라이싱보다는 나머지를 모두 잡아내는 언패킹을 사용하라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 02. List and Dictionary”을 읽고 정리한 내용입니다. 별표 식 * 리스트를 서로 겹치지 않게 여러 조각으로 나누는 경우, 별표 식(starred expression)을 통해 모든 값을 담는 언패킹을 할 수 있다. ...

[Better Way #12] 스트라이드와 슬라이스를 한 식에 함께 사용하지 말라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 02. List and Dictionary”을 읽고 정리한 내용입니다. 증가값을 -1로 사용해 문자열을 슬라이싱하면 뒤집을 수 있다. # 바이트 문자열 x = b'mongoose' y = x[::-1] print(y) # b'e...

[Better Way #11] 시퀀스를 슬라이싱하는 방법을 익혀라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 02. List and Dictionary”을 읽고 정리한 내용입니다. 시퀀스 슬라이싱 맨 앞부터 슬라이싱할 때는 0을 생략한다. 끝까지 슬라이싱할 때는 끝 인덱스를 생략한다. 끝에서부터 원소를 찾고 싶다면 음수 인덱스를 사용한다. ...

[Effective Python] 파이썬의 딕셔너리(dict) 타입

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 02. List and Dictionary”을 읽고 정리한 내용입니다. 딕셔너리(dict) 타입 일반적으로 해시 테이블(hash table)이나 연관 배열(associative array) 구조 안에 값을 저장한다. 분할상환(amo...

[Better Way #10] 대입식을 사용해 반복을 피하라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 01. Pythonic Thinking”을 읽고 정리한 내용입니다. 대입식 (Assignment Expression) 코드 중복 문제를 해결하고자 파이썬 3.8+부터 지원되고 있는 구문이다. 왈러스 연산자(walrus operator) :=...

[Better Way #09] for나 while 루프 뒤에 else 블록을 사용하지 말라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 01. Pythonic Thinking”을 읽고 정리한 내용입니다. 루프 뒤의 else문 루프는 그 자체로 의미가 명확해야 하지만, else 블록을 사용하면 동작이 직관적이지 않고 혼동을 야기할 수 있다. 따라서 루프 뒤에 else 블록을 사용...

[Better Way #08] 여러 이터레이터에 대해 나란히 루프를 수행하려면 zip을 사용하라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 01. Pythonic Thinking”을 읽고 정리한 내용입니다. zip 내장 함수 둘 이상의 이터레이터를 지연 계산 제너레이터를 사용해 묶어준다. 각 이터레이터의 다음 값이 들어있는 튜플을 반환하며, 이를 for 문에서 바로 언패킹할 수...

[Better Way #07] range 보다는 enumerate를 사용하라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 01. Pythonic Thinking”을 읽고 정리한 내용입니다. enumerate 내장 함수 이터레이터를 지연 계산 제너레이터(lazy generator)로 감싼다. (루프 인덱스, 이터레이터의 다음 값) 쌍을 넘겨준다(yield). ...

[Better Way #06] 인덱스를 사용하는 대신 대입을 사용해 데이터를 언패킹하라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 01. Pythonic Thinking”을 읽고 정리한 내용입니다. 언패킹 구문의 동작 원리 언패킹(unpacking)이란, 한 문장 안에서 여러 값을 대입할 수 있는 문법이다. def bubble_sort(a): for _ in r...

[Better Way #05] 복잡한 식을 쓰는 대신 도우미 함수를 작성하라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”의 “Chapter 01. Pythonic Thinking”을 읽고 정리한 내용입니다. 복잡한 식은 도우미 함수로 옮기고, 특정 로직을 반복 적용하려면(단지 두세 번에 불과할지라도) 도우미 함수를 작성하는 것을 권장한다. 복잡하지만 한 줄 짜리인 식에 bool ...