본문 바로가기
  • AI 개발자가 될래요
Python

[Python] "효율적 개발로 이끄는 파이썬 실천 기술" 책 중요 내용 정리 - 2편

by 꿀개 2024. 1. 4.

"효율적 개발로 이끄는 파이썬 실천 기술" 책 중요 내용 정리 - 2편

 

 딕셔너리의 키에 대한 값을 연속된 스트링으로, str.format() 과 ** 이용

str.format() 메서드의 인수에 **와 함께 딕셔너리를 전달하면 키에 대한 값을 연속된 str으로 바꿔준다.

 

format을 이용한 딕셔너리 키 값 가져오기

 

두번 째 줄에서 format을 정해놓고,

세번째 **d를 사용함으로써 딕셔너리의 각 키에 대한 값을 가져온다.

한 가지 재미있는 점은, books의 str 안에 사용하지 않는 키, 예를 들면 'a' ,가 들어가도 상관 없다는 것이다.

 

이 방법은 코딩 테스트에서 유용하게 사용될 것 같다.

 

str, bytes 타입

- str: 사람이 읽고 쓰기 쉬운 문자열

- bytes: 컴퓨터가 다루기 쉬운 바이트열

 

str.encode()와 bytes.decode()를 이용한 상호 변환

- str: 유니코드 문자를 다룸

유니코드 문자에는 문자 별로 코드 포인트라 불리는 식별자가 있음.

예를 들어, 문자 'A'의 코드 포인트는 U+0041

 

- 인코드, encode: 문자를 코드포인트가 다루는 바이트로 변환하는 것

- 디코드, decode: 바이트를 코드 포인트로 되돌리는 처리

 

문자열을 선언하면 자료형은 str이다.

 

이 book 변수를 'utf-8'로 인코딩하면 bytes 타입으로 변하고, 바이트 값을 출력한다.

utf-8로 인코드

 

utf-8로 디코드

 

다시 utf-8로 디코드하면 문자열이 나온다.

 

슬라이스로 선택한 부분의 엘리먼트 수는 일치하지 않아도 관계없음.

슬라이스로 선택한 부분에 리스트를 대입할 때 엘리먼트 수는 일치하지 않아도 관계 없다.

말로 설명하면 어려운데 예시를 보면 이해가 빠르다.

 

슬라이스로 선택한 부분에 리스트 대입