더북(TheBook)

균등 분포 난수는 단지 시작일 뿐이다 우리가 흔히 무작위 행동이라고 할 때는 random.random() 함수가 생성하는 ‘모두가 동일한 가능성’보다는 약간 더 복잡한 것을 의미하곤 한다. 우리가 생각할 문제들은 randomsurfer.py처럼 균일하지 않게 분포된 난수를 사용해야 하는 경우들이 종종 있다.

효율이 중요하다 우리 컴퓨터가 어떠한 계산도 수행할 수 있을 만큼 빠르다고 생각하는 것은 실수다. 어떤 계산은 다른 계산보다 더 많은 노력이 들어간다. 4장에서는 우리가 작성하는 프로그램의 성능을 평가하는 방법을 자세히 설명한다. 계산 효율에 대한 문제는 4장에서야 다루지만, 프로그램이 어느 정도의 성능을 내야 하는지에 대해서는 늘 주의를 기울여야 한다.

이번 절 예제처럼 복잡한 프로그램을 작성함으로써 배울 수 있는 가장 중요한 교훈은 디버깅은 어렵다는 것일지도 모른다. 이 책에 나온 예제는 디버깅할 필요가 없지만, 각각의 프로그램은 오랜 테스트, 버그 수정, 다양한 입력 데이터를 이용한 테스트를 모두 거쳤다는 것을 알아두기 바란다. 일반적으로 이런 책에서 버그와 버그를 수정하는 과정을 일일이 설명하면 책이 따분해지고 독자는 잘못된 코드에 너무 많이 신경 쓰게 된다. 그러나 디버깅하는 예를 일부 예제 코드와 연습문제에서 볼 수 있다.

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