번역 일기
오늘은 제3장을 추가합니다.
3. 함수
합성
- 대입문의 좌변에 변수명만 나와야 한다는 규칙은 엄밀하게는 성립하지 않습니다. 변수명에 준하는 표현식들이 꽤 다양한 형태로 존재합니다. 이 시점의 학습 수준에서 단순화된 규칙을 제시하고 있습니다. 나중에 예외를 보게 될 거라는 식으로 후에 부정할 여지를 남겨두고 있습니다. 번역하는 과정에서 단순화된 규칙을 약간 순화시켰습니다. 번역자가 저자만큼 과감하지 못한 것 같기도 합니다.
새 함수 만들기
- 함수명의 규칙을 설명하는 부분이 변수명을 설명하는 부분과 잘 일치하지 않습니다. 오직 밑줄 문자 하나만 허락되는데, 허용되는 다른 구두점들이 있는듯한 인상을 줍니다. 좀 더 분명하게 수정했습니다.
- 찾아보니 예제에 나오는 가사는 Monty Python 의 “Lumberjack Song” 이라는 군요.
노래의 실제 가사는 이렇게 된답니다.
I'm a lumberjack and I'm okay
I sleep all night and I work all day
He's a lumberjack and he's okay
He sleeps all night and he works all day
I cut down trees, I eat my lunch
I go to the lavatory
On Wednesdays I go shopping
And have buttered scones for tea
He cuts down trees, he eats his lunch
He goes to the lavatory
On Wednesdays he goes shopping
And has buttered scones for tea
I'm a lumberjack and I'm okay
(He's a lumberjack and he's okay)
I sleep all night and I work all day
(He sleeps all night and he works all day)
I cut down trees, I skip and jump
I like to press wildflowers
I put on women's clothing
And hang around in bars
He cuts down trees, he skips and jumps
He likes to press wildflowers
He puts on women's clothing
And hangs around in bars?
I'm a lumberjack and I'm okay
(He's a lumberjack and he's okay)
I sleep all night and I work all day
(He sleeps all night and he works all day)
I cut down trees, I wear high heels
Suspenders and a bra
I wish I'd been a girlie
Just like my dear papa
He cuts down trees, he wears high heels
Suspenders and a bra?
He's a lumberjack and he's okay
He sleeps all night and he works all day
He's a lumberjack and he's okay
He sleeps all night and he works all day
매개변수와 인자
- Parameter 와 Argument 를 대비해서 사용하고 있는데 이는 정확한 용법입니다. 그런데 번역은 참 고민스럽군요. 일단 앞에서 Argument 를 ‘인자’ 라고 부르기 시작했으니 Parameter 를 ’형식인자’라고 불러야 할까? 그러면 Argument 를 ‘인자’ 대신에 ’실인자’라고 불러야 하지 않을까? 그건 좀 오버인 것 같은데… 고민 끝에 일단 Parameter 를 ’매개변수’로 번역하기로 합니다. ’변수’가 이름에 들어가면 본문의 설명과 묘하게 궁합이 맞는 것 같습니다. 용어들 때문에 다른 한글판 파이썬 책들을 살펴보고 싶은 생각이 듭니다만, 가능하면 끝까지 그냥 간 다음에 비교해 보는 것이 좋을듯합니다. 그래야 좋은 것들은 남기고 나쁜 것들은 개선할 수 있지 않을까요?
결과가 있는 함수와 없는 함수
- 이 섹션은 완전히 저자가 지어낸 용어로 이루어져 있습니다. fruitful function 과 void function 이라는 용어를 쓰고 있는데, void function 의 경우는 파이썬은 아닐지라도 C 계열의 언어들에서 사용하는 용어입니다. 하지만 fruitful function 이라는 용어는 좀 당혹스럽군요. 두 종류 간의 우열을 따지자는 것이 아니므로 전용의 용어를 만들기보다는 풀어서 설명하기만 하기로 합니다. 뒤에 가서 전용어가 필요하다고 판단되면 그 때 다시 따지기로 합니다.