더북(TheBook)

수학자들이 사용하는 인덱스는 보통 1부터 시작하지만, 파이썬의 인덱스는 0부터 시작합니다. 그 이유는 수학자들은 보통 무언가를 세지만, 컴퓨터 과학자들은 역사적으로 변위차(offset)를 다루었기 때문입니다. 내가 원하는 물건을 얻기 위해 앞으로 몇 걸음을 걸어야 하는가? 같은 것이지요. 우리가 현재 리스트나 배열의 시작점에 있다면, 첫 번째 아이템을 얻기 위해서는 0 걸음이 필요합니다. 이미 도착한 것이죠 아주 유명한 컴퓨터 과학자인 에츠허르 데이크스트라(Edsger Dijkstra)는 “왜 넘버링은 0부터 시작해야 하는가(Why Numbering should Start at Zero)?”라는 글을 썼습니다. 컴퓨터 과학 퀴즈 대결에서 이기고 싶다면 한번 읽어 보세요.

이 장에서 제가 쓴 수식은 클래식한 파이썬 방식을 따릅니다. 저는 정렬된 것들을 표현하는 데 ( )와 [ ]를 혼용했습니다. { }는 보통 순서가 없는 군집에 사용합니다. 이것은 여러 물건을 큰 더플백에 담아 놓고 다시 꺼내는 것과 비슷합니다. 더플백에 물건을 집어넣을 때 그 순서를 기억하지 않습니다. 그러나 최신 버전인 파이썬 3.7은 딕셔너리(dictionary)에서 정렬을 지원합니다. 그래서 최신 파이썬으로 업그레이드한 이후로 저는 중괄호({ })를 수학적인 집합 set를 지칭하는 데 씁니다.

코어 파이썬 개발자인 레이몬드 헤팅거(Raymond Hettinger)는 파이썬 커뮤니티에서 “분명 더 나은 방식이 있을 거야!”라는 표현을 자주 사용했습니다. 그의 파이썬 토크는 아주 전설적이죠. 유튜브에서 찾아 들어 보세요. 파이썬에 대한 새로운 것을 배울 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.