오탈자 정보 | Posted by 제이펍 2018.03.20 18:01

[러닝 파이썬(제5판)]_오탈자

현재까지 발견된 위 책의 오탈자 정보와 오류, 그리고 보다 매끄러운 문장을 위해 수정한 내용을 안내해드립니다. 번역과 편집 시에 미처 확인하지 못하고 불편을 끼쳐드려 죄송하다는 말씀을 드립니다. 아래의 오탈자 사항은 추후 재쇄 시에 반영하도록 하겠습니다. 


이외의 오탈자 정보를 발견하시면 옮긴이(ulzima@gmail.com)나 출판사(readers.jpub@gmail.com)로 연락주시면 고맙겠습니다.


최종수정일자: 2018년 10월 17일

1쇄본 오탈자


(업데이트순)


상/하편 모두에서

다시 한 번 => 다시 한번


상편 349쪽 표 9-1 (Jae* Hyun 님 제보)




상편 571~590쪽 사이의 파이썬 버전 표기에 관하여 (Jae* Hyun 님 제보)

버전 3.6이라 표시된 부분을 모두 3.3으로 변경

(* 이 장은 지은이가 3.2 버전과 3.3 버전을 비교하는 내용이므로 최신 3.6이 아닌 3.3 버전으로 표기되었어야 함)


상편 920쪽 하단의 옮긴이 주 (Jae* Hyun 님 제보)

현재 파이썬의 최신 버전은 3.7이고, 이 책이 집필될 당시에는 3.3이 최신 버전이다.

=>

이 책이 집필될 당시의 최신 파이썬 버전은 3.3이었으나, 옮긴이는 번역 시점의 최신 버전인 3.6에서 모든 코드를 테스트했다. 부득이하게 버전 표기를 유지해야 할 곳은 3.3으로 되어 있지만, 내용을 이해하거나 테스트하는 데는 문제가 없을 것이다.


--------------------------------------10/12일자-------------------------------------- 


상편 8쪽 맨 마지막 줄 (Jae* Hyun 님 제보)

그러므로 일부 프로그램은 파이썬에서 C처럼 완전히 컴파일되는 언어보다 파이썬에서 더욱 느리게 실행될 것이다.

=>

그러므로 일부 프로그램은 C처럼 완전히 컴파일되는 언어보다 파이썬에서 더욱 느리게 실행될 것이다.


상편 123쪽 밑에서 두 번째 문단 (Jae* Hyun 님 제보)

파이썬의 오래된 버전에서는 부동 소수점 repr은 때로 여러분이 예상하는 것보다 더 많은 정밀도로 표시된다.

=>

파이썬의 오래된 버전에서는 부동 소수점 repr은 때로 여러분이 예상하는 것보다 더 높은 정밀도로 표시된다.


상편 181쪽 중간 예제 소스 (Jae* Hyun 님 제보)

#(4 / (2.0 +3))과 같음 [2.7 이전에서는 print를 사용] => #(4 / (2.0 + 3))과 같음

(* [ ]안 내용은 저자가 주석으로 설명을 단 것인데 조금 맥락에 안맞게 보일 수 있는 것 같아 삭제합니다.)


상편 233쪽 세 번째 줄 (Jae* Hyun 님 제보)

또한, 이러한 슬라이싱 기술은 딕셔너리가나 => 또한, 이러한 슬라이싱 기술은 딕셔너리나


상편 237쪽 학습 테스트 두 번째 소스 (Jae* Hyun 님 제보)

B= A => B = A


상편 240쪽 마지막 줄 (Jae* Hyun 님 제보)

이러한 구별 외에는 대부분 단순한 문자열 처리. => 이러한 구별 외에는 대부분 단순한 문자열 처리다. 


상편 257쪽 중간 (Jae* Hyun 님 제보)

아홉 번째 줄

s[1:3] 오프셋 1에서부터 오프셋 3까지의 아이템을 가져오며, 오프셋 3에 위치한 아이템은 제외된다.

=>

s[1:3] 오프셋 1에서부터 오프셋 2까지의 아이템을 가져오며, 오프셋 3에 위치한 아이템은 제외된다.


11번째 줄

s[:3] 오프셋 0에서부터 오프셋 3까지의 아이템을 가져오며, 오프셋 3에 위치한 아이템은 제외된다.

=>

s[:3] 오프셋 0에서부터 오프셋 2까지의 아이템을 가져오며, 오프셋 3에 위치한 아이템은 제외된다.


상편 277쪽 밑에서 두 번째 문단 (Jae* Hyun 님 제보)

다시 한 번 말하지만, 포매팅은 왼쪽에 있는 문자열을 변경하지 않고 항상 새로 문자열을 만든다는 것을 기억하자.

=>

다시 한번 말하지만, 포매팅은 왼쪽에 있는 문자열을 변경하지 않고 항상 새로 문자열을 만든다는 것을 기억하자.


상편 296쪽 위에서 세 번째 문단 (Jae* Hyun 님 제보)

튜플 자체를 값으로 전달하여 출력해야 하는 경우 중첩된 튜플을 전달해야 한다. 또한, 드물긴 하나 튜플 자체를 값으로 전달하여 출력해야 할 경우에는 중첩된 튜플을 전달해야만 한다.

=> 

결과적으로 단일 아이템은 그 자체로나 튜플로 감싼 후 제공될 수 있으며, 튜플 자체를 값으로 전달하여 출력해야 하는 경우 중첩된 튜플을 전달해야 한다. 

(* 빨간색으로 표시된 문장을 삭제)


상편 308쪽 첫 번째 예제 소스 (Jae* Hyun 님 제보)

>>>    res => >>> res


상편 309쪽 마지막줄 (Jae* Hyun 님 제보)

앞의 대화형 예제에서 리스트는 한 쌍의 괄호에 포함되어 있기 때문에

=> 

앞의 대화형 예제에서 리스트는 한 쌍의 대괄호에 포함되어 있기 때문에


상편 전체에서 (Jae* Hyun 님 제보)

드 => 메


상편 462쪽 첫 번째 예제 소스 두 번째 줄 (Jae* Hyun 님 제보)

>> print() => >>> print()


상편 462쪽 (Jae* Hyun 님 제보)

첫 번째 문단

이와 같은 결과 라인을 강제로 => 이와 같은 결과 라인을 강제로 


세 번째 문단 첫 번째 줄

여기서 단지 튜플에서 => 여기서 따옴표는 단순히 튜플에서


상편 483쪽 첫 번째 문단 (Jae* Hyun 님 제보)

그러나 예를 들어 다음 코드는 파이썬이 단축을 적용하지 않기 때문에 정확히 동일하지는 않다. => 그러나 예를 들어 다음 코드는 파이썬이 단축 연산(short-circuit)을 적용하지 않기 때문에 정확히 동일하지는 않다.


상편 504쪽 참고 내용 마지막 문단 (Jae* Hyun 님 제보)

또한 여기서 for 루프는 각 문자를 처리하지만, for 루프는 파일을 (한 번에 읽기에 충분한 경우) 한 번에 모두 메모리로 읽는다.

=> 

또한 여기서 for 루프는 각 문자를 처리하지만, file.read()는 파일을 (한 번에 읽기에 충분한 경우) 한 번에 모두 메모리로 읽는다.

 

상편 506쪽 세 번째 불릿 기호 내용 (Jae* Hyun 님 제보)

(파이썬2.3 이후로 사용할 수 있는) 내장 enumerate 함수는 가변 객체의 아이템들에 대한 값과 인덱스를 생성하므로 수동으로 카운팅할 필요가 다.

(파이썬2.3 이후로 사용할 수 있는) 내장 enumerate 함수는 가변 객체의 아이템들에 대한 값과 인덱스를 생성하므로 수동으로 카운팅할 필요가 다.

 

상편 509 마지막 예제 소스 세 번째 줄 (Jae* Hyun 님 제보)

#제일 앞 아이템으로 끝으로 이동

#제일 앞 아이템 끝으로 이동


상편 548쪽 세 번째 문단 (Jae* Hyun 님 제보)

좀 더 자세한 내용은 20장에서 살펴보겠지만, map이나 zip 같이 한 번의 탐색만을 지원하며, 새롭게 반복 객체가 된 도구들에 대해 여러 번의 반복을 지원하기 위해서 리스트로 변환할 경우에는 주의가 필요하다.

=> 

좀 더 자세한 내용은 20장에서 살펴보겠지만, map zip 같이 한 번의 탐색만을 지원하는 새로운 반복 객체에 대한 다중 반복은 좀 더 세밀한 지원이 필요하다.


상편 571쪽 (Jae* Hyun 님 제보)

첫 번째 문단의 마지막 줄

그리고 이를 실행하는 방법은 파이썬 3.6 이후부터 변경되었다.

=>

그리고 이를 실행하는 방법은 파이썬 3.3 버전부터 변경되었다.


두 번째 불릿 기호 내용

3.6 이후부터 이전 GUI 클라이언트는 => 파이썬 3.3 부터 이전 GUI 클라이언트는

 

상편 602쪽 주석 내용 (Jae* Hyun 님 제보)

기본 개념은 '당신의 코드는 객체가 꽥꽥 울지 않는 한, 그 객체가 오리인지 아닌지에 대해서는 상관하지 않는다'는 것이다.

=>

기본 개념은 '당신의 코드는 객체가 꽥꽥하고 우는 한, 그 객체가 오리인지 아닌지에 대해서는 상관하지 않는다'는 것이다.

 

상편 664쪽 표 18-1 맨 마지막 칸 (Jae* Hyun 님 제보)

def func(*, 이름 = 값) => def func(*기타, 이름 = 값)


상편 701쪽 두 번째 예제 소스 밑에서 두 번째 줄 (Jae* Hyun 님 제보)

items.extend(front) => items[:0] = front

 

상편 735쪽 두 번째 예제 소스에 첫 번째 주석문 (Jae* Hyun 님 제보)

# 을 이용한 같은 기능 => # for문을 이용한 같은 기능

 

상편 736쪽 첫 번째 문단 (Jae* Hyun 님 제보)

이 코드는 다음의 기반 코드와 같다. => 이 코드는 다음의 for문 기반 코드와 같다.

 

상편 751 첫 번째 예제 소스 첫 줄 (Jae* Hyun 님 제보)

>>> list = 'aaa,bbb,ccc' => >>> line = 'aaa,bbb,ccc'


상편 752쪽 세 번째 문단 (Jae* Hyun 님 제보)

예를 들어, 예를 들어, 다음은 중첩보다는 비중첩이 일반적으로 더 낫다는

=> 

예를 들어, 다음은 중첩보다는 비중첩이 일반적으로 더 낫다는


상편 765쪽 예제 소스 첫 번째 함수 (Jae* Hyun 님 제보)

>>> def scramble(seq):

            for i in range(len(seq)):

            seq = seq[1:] + seq[:1]

            yield seq

=> 

>>> def scramble(seq):

            for i in range(len(seq)):

                seq = seq[1:] + seq[:1]

                yield seq

(* 들여쓰기가 틀림. 세, 네 번째 줄을 한 번 더 들여써야 합니다.)


상편 794쪽 예제 소스 밑에서 열 번째 줄 (Jae* Hyun 님 제보)

def getFunc(): => def genFunc():


상편 818쪽 첫 번째 문단 (Jae* Hyun 님 제보)

비록 사용자 정의 함수가 내장 함수보다 더 느릴 수는 있지만, 일반적으로 함수가 내장인지 아닌지가 성능에 영향을 많이 주는 것 같아 보인다.

=> 

비록 사용자 정의 함수가 내장 함수보다 더 느릴 수는 있지만, 일반적으로 함수가 내장이든 아니든 함수 자체가 속도 면에서 큰 부분을 차지한다는 것을 알 수 있다.


상편 822쪽 두 번째 문단 (Jae* Hyun 님 제보)

여러분도 알다시피, 파이썬은 함수 안에서 할당된 이름을 기본적으로 지역(지역)로 분류한다.

=>

여러분도 알다시피, 파이썬은 함수 안에서 할당된 이름을 기본적으로 지역(locals)으로 분류한다.


상편 826쪽 첫 번째 예제 소스 세 번째 줄 (Jae* Hyun 님 제보)

print((saver.x) => print(saver.x)


하편 1554쪽 예제 소스 여섯 번째 줄 (Jae* Hyun 님 제보)

# 혹은 다른 호줄 가능 객체 => # 혹은 다른 호출 가능 객체


--------------------------------------8/13일자-------------------------------------- 


상편 xxxiv쪽, 하편 xxxiii쪽 마지막 URL (Jae* Hyun 님 제보)

Learnin-python.com/index-book-links.html

=>

Learning-python.com/index-book-links.html


상편 554쪽 첫 번째 코드 밑에서 세 번째 줄 (Jae* Hyun 님 제보)

for k in D.kesy(): print(k, end=‘ ’)

=>

for k in D.keys(): print(k, end=‘ ’)


상편 685쪽 첫째 줄 (Jae* Hyun 님 제보)

(그러려면 전체 순열이 필요하며, 네 개의 인수의 경우 총 2네 개의 순서가 생긴다)

=>

(그러려면 전체 순열이 필요하며, 네 개의 인수의 경우 총 24개의 순서가 생긴다)


상편 718쪽 두 번째 코드 첫 번째 줄 (Jae* Hyun 님 제보)

action = (labda x  : (lambda y: x+y))

=>

action = (lambda x  : (lambda y: x+y))


상편 733쪽 첫 번째 코드 첫 번째 줄 (Jae* Hyun 님 제보)

>>> [(x, y] for x in range(5) if x % 2 == 0 for y in range(5) if y % 2 == 1]

=>

>>> [(x, y) for x in range(5) if x % 2 == 0 for y in range(5) if y % 2 == 1]


상편 752쪽 첫 번째 코드 네 번째 줄 (Jae* Hyun 님 제보)

[1, 0 1]

=>

[1, 0, 1]


상편 755쪽 첫 번째 코드 첫 번째 줄 (Jae* Hyun 님 제보)

>>> def timefour(S):

=>

>>> def timesfour(S):


상편 758쪽 두 번쨰 코드 마지막 줄 (Jae* Hyun 님 제보)

'0 : 1 : 2 : 3 : 4 : 0 : 1 : 4 : 9 : 16"

=>

'0 : 1 : 2 : 3 : 4 : 0 : 1 : 4 : 9 : 16'


상편 770쪽 코드 밑에서 두 번째 줄 (Jae* Hyun 님 제보)

>>> len(p1) p1[0], p1[1]

=> 

>>> len(p1), p1[0], p1[1]

(* 쉼표 누락 추가)


하편 1116쪽 표 제목

표 30-3 => 표 30-1



댓글을 달아 주세요



티스토리 툴바