The Annotated Python Language Reference #3

2. 구문 분석

2.1. 줄 구조(Line structure)

2.1.7. 빈 줄

스페이스, 탭, 폼 피드(formfeed) 와 주석만으로 구성된 논리적인 줄은 무시된다. (즉 NEWLINE 토큰이 만들어지지 않는다.) 대화형으로 문장이 입력되는 도중에는 빈 줄의 처리가 REPL 구현에 따라 달라질 수 있다. 표준 대화형 인터프리터에서는, 완전히 빈 줄(즉 공백이나 주석조차 없는 것)은 다중 행 문장을 종료시킨다.

APLR

스페이스(space)는 ' ' 문자를 가리킬 때 사용합니다. 반면 공백(whitespace)은 스페이스, 탭, 폼피드 문자들을 통칭할 때 사용합니다.

APLR

REPL 은 Read-Eval-Print Loop 의 약자입니다. 문장을 입력받고 실행한 후 결과를 출력하는 것을 반복하는 대화형 환경의 인터페이스를 뜻합니다.

Read more...

파이썬 한국어 선택기

http://docs.python.org 사이트에서는 언어 선택 옵션으로 English, French, Japanese 를 제공해왔습니다. 오늘 부터 네번째 언어로 Korean 이 추가되었습니다. 지금 당장은 3.7 버전 이상에서만 등장하는데, 일단 3.7 버전에서 Korean 을 선택한 후에, 3.6 버전으로 바꾸면 3.6 버전의 한글판이 나옵니다. 곧 3.6 버전에서도 자연스럽게 선택할 수 있으리라 봅니다.

좋은 소식이 하나 더 있습니다.

파이썬 한글 번역팀에 식구가 늘었습니다. 그래서 파이썬 한국어 번역 에 간단한 공동 번역 가이드라인도 추가했습니다. 차츰 살을 더 붙여나가겠습니다.

The Annotated Python Language Reference #2

2. 구문 분석

파이썬 프로그램은 파서(parser) 에 의해 읽힌다. 파서의 입력은 구문 분석기(lexical analyzer) 가 만들어내는 토큰(token) 들의 스트림이다. 이 장에서는 구문 분석기가 어떻게 파일을 토큰들로 분해하는지 설명한다.

APLR

구문 분석기가 만들어내는 토큰들의 목록은 token 모듈에서 제공됩니다. tokenize 모듈로 파이썬 소스 파일의 구문 분석을 수행할 수도 있습니다.

파이썬은 프로그램 텍스트를 유니코드 코드값으로 읽는다; 소스 파일의 인코딩은 인코딩 선언을 통해 지정될 수 있고, 기본값은 UTF-8이다. 자세한 내용은 PEP 3120 에 나온다. 소스 파일을 디코딩할 수 없을 때는 SyntaxError 가 발생한다.

Read more...

scikit-learn 자습서

역자덕에 출판된 책에 추천사를 써봤다. 여기 다시 옮길 필요는 없겠다. 늦었지만 기록을 위해 남겨둔다.

어차피 책 한 권 읽고 기계 학습을 마스터할 수는 없으니, 가리지 말고 두루 읽어야 한다. 꽤 정성들인 번역이니 처음 시작하기에 좋은 선택이다.

The Annotated Python Language Reference

이 참조 설명서는 언어의 문법과 "중심 개념들(core semantics)"을 설명한다. 딱딱하더라도 정확하고 완전해지려고 한다. 중심에서 벗어난 내장형, 내장 함수, 모듈들의 개념들은 파이썬 표준 라이브러리 에 기술되어 있다. 언어에 대한 비형식적인 소개는 파이썬 자습서 에서 제공된다. C와 C++ 프로그래머를 위해서는 두 개의 설명서가 따로 제공된다: Extending and Embedding the Python Interpreter 는 파이썬 확장 모듈을 작성하는 방법에 대한 큰 그림을 설명하고, Python/C API Reference Manual 은 C/C++ 프로그래머에게 제공되는 인터페이스들을 상세하게 기술한다.

APLR

실제로 언어 레퍼런스는 딱딱할 뿐만 아니라 함축적이기 때문에 읽기가 매우 어렵습니다. 이 시리즈는 언어 레퍼런스에 상세한 주석을 붙여, 모호한 부분들에 대한 해석과, 관련 정보들을 제공해서 좀 더 이해하기 쉬운 버전으로 만듭니다. 이 과정에서 언어 레퍼런스의 정확성을 손상시키고 싶지는 않습니다. 때문에 언어 레퍼런스의 구조를 그대로 따르면서, 이런 식으로 주석을 제공합니다.

Read more...

인포그래픽 상식 모음

월스트리트저널 인포그래픽 가이드 - 9점
도나 M. 웡 지음, 이현경 옮김, 강규영 감수/인사이트

이 책이 처음 나왔을 때 한 권 사서 모두 읽어보라고 하고는, 정작 본인은 이제야 끝냈다. 고작 150쪽 정도되는 책이니 시간이 없어서라는 핑계도 대지 못하겠다.

문서나 웹 페이지로 그려놓은 도표들을 보면서 디테일한 부분들에서 불편함을 느끼는 경우가 많다. 소수점으로 정렬되지 않은 표를 볼 때, 명도 대비가 너무 약해서 가독성이 떨어지는 차트를 볼 때. 알록달록 하지만 뭘 보라는 것인지 모르겠을 때, 웹 디자인 시안의 품질이 도표가 들어간 페이지가 나올 때마다 곤두박질 칠 때… 그럴 때마다 이 책을 슬쩍 건내주고 싶다. 본인이 직접 해도 똑 같은 실수들을 저지를 것이 분명하기 때문에 손 닿는 곳에 꼽아둬야겠다. 최소한 이 책의 지침을 따르면 기본을 의심받는 일은 없을 것이기에.

실용적인 책이다. 저자의 다른 책이 있나 뒤져보았지만 찾지 못했다.

증분 대입문

그동안 프로젝트 하나를 진행하느라 바빠서 포스팅할 시간이 없었습니다. 제가 Functional Data Engineering Platform 이라고 부르는 것인데, 기계 학습을 위한 실용적인 실행 환경을 제공하는 제품입니다. 얼마전에 상용 환경에 투입되었고, 그럭 저럭 기대한 성능을 보여주고 있기 때문에, 이제 다른 곳에도 신경쓸 여유가 좀 생겼습니다. 이 제품에 대해서는 따로 소개할 기회가 있을겁니다. 오늘은 좀 더 가벼운 이야기나 나눠봅시다.

아무 생각 없이 쓰던 코드가 어느날 갑자기 이상하게 보일 때가 있습니다. 얼마전에 그런 경험을 했는데, 다음과 같은 코드입니다.

>>> l = []
>>> l += 'hello'
>>> l
['h', 'e', 'l', 'l', 'o']

Read more...

딕셔너리는 순서 있는 매핑

파이썬 3.7 부터 표준 딕셔너리 dict 가 삽입 순서를 보존합니다. 다음과 같은 코드가 항상 같은 결과를 준다는 뜻입니다.

>>> d = {}
>>> d['b'] = None
>>> d['a'] = None
>>> list(d)
['b', 'a']

Read more...

python-docs-ko

파이썬 도큐멘테이션의 한국어 번역을 위한 PSF 공식 git 저장소가 개설되었습니다.

그 동안의 작업들도 3.6 브랜치에 모두 푸시했습니다.

이 저장소는 docs.python.org 사이트의 빌드 스크립트가 읽어오는 장소입니다. PEP 545 가 정하고 있는 방식으로 이름을 붙입니다. 옆을 둘러보시면 python-docs-ja 나 python-docs-fr 같은 이름의 저장소들도 보실 수 있습니다.

파이썬 제너레이터

지난 글에서는, 생산자-소비자 패턴(Producer-Consumer Pattern)의 소비자 쪽의 코드를, 함축적이면서도 자연스럽게 기술할 수 있는 방법을 제공하는 이터레이터를 살펴봤습니다. 오늘은 생산자 쪽을 들여다봅니다.

Read more...