전체 글
[Effective Python] BETTER WAY 5 - 복잡한 식을 쓰는 대신 도우미 함수를 작성하라
1. 복잡한 식 사용 파이썬은 문법이 간결하여 상당한 로직이 들어가는 식도 한 줄로 매우 쉽게 작성할 수 있다. 다음은 URL의 질의 문자열을 구문 분석하는 예제이다. from urllib.parse import parse_qs my_values = parse_qs('빨강=5&파랑=0&초록=', keep_blank_values=True) print(repr(my_values)) >>> {"빨강": ['5'], '파랑': ['0'], '초록':['']} get 메서드를 활용하면 상황에 따라 다른 값이 반환된다. print('빨강:', my_values.get('빨강')) print('초록:', my_values.get('초록')) print('투명도:', my_values.get('투명도')) >>> 빨강..
[Effective Python] BETTER WAY 4 - C 스타일 형식 문자열을 str.format과 쓰기보다는 f-문자열을 통한 인터폴레이션을 사용하라
1. 개요 다음과 같이 파이썬 코드에서는 문자열을 많이 쓴다. 1) 사용자 인터페이스 또는 명령줄 유틸리티에 메시지 표시 2) 파일과 소켓에 데이터 쓰기 3) 어떤 일이 잘못되었는지 Exception에 자세히 기록 4) 디버깅 형식화(formatting)는 미리 정의된 문자열에 데이터 값을 끼워 넣어서 사람이 보기 좋은 문자열로 저장하는 과정이고 파이썬에서는 4가지 방식이 있다. 하지만 한 가지 방법을 제외하면 나머지는 모두 심각한 단점이 있으므로 이를 이해하고 피해야한다. 2. % 형식화 연산자 사용 파이썬에서 문자열을 형식화하는 가장 일반적인 방법이다. a = 0b10111011 b = 0xc5f print('이진수: %d, 십육진수: %d' % (a, b)) >>> 이진수: 187, 십육진수: 31..
[Effective Python] BETTER WAY 3 - bytes와 str의 차이를 알아두라
1. 개요 파이썬에서는 문자열 데이터의 시퀀스를 표현하는 두 가지 타입이 있음 -> bytes와 str 2. 차이 bytes는 다음과 같이 부호가 없는 8바이트 데이터가 그대로 들어간다. a = b'h\x65llo' print(list(a)) print(a) >>> [104, 101, 108, 108, 111] b'hello' str은 문자를 표현하는 유니코드 코드 포인트가 들어 있다. a = 'a\u0300 propos' print(list(a)) print(a) >>> ['a', '`', ' ', 'p', 'r', 'o', 'p', 'o', 's'] à propos 3. Tip 3-1. 타입 변환 함수 작성하기 처리할 입력이 원하는 문자 시퀀스를 반환하도록 함수를 작성한다. def to_str(by..