더북(TheBook)

Q. 인수의 소수점 부분이 0.5일 때 round()는 어떤 값을 반환하는가?

A. 파이썬 3에서 round()는 가장 가까운 정수를 반환한다. 즉 round(2.5)2, round(3.5)4, round(-2.5)-2를 반환한다. 그러나 파이썬 2에서 round()0에서 반올림하고 실수형으로 변환해 반환한다. 즉 round(2.5)3.0, round(3.5)4.0, round(-2.5)-3.0을 반환한다.

 

Q. float형과 int형을 비교할 수 있는가?

A. 형을 변환해야 비교할 수 있다. 그러나 파이썬이 필요한 형 변환을 자동으로 해준다는 사실을 잊지 말자. 예를 들어 x가 정수 3이면 표현식 (x < 3.1)은 정수 3을 실수 3.0으로 승격한 후 3.03.1을 비교해 True를 반환한다.

 

Q. 파이썬의 math 모듈은 아크 사인, 쌍곡선 사인, 시컨트 등 다른 삼각함수도 제공하는가?

A. 그렇다. 파이썬의 math 모듈은 역삼각함수와 쌍곡선 함수들도 제공한다. 그러나 math.sin(), math.cos(), math.tan()를 이용해 쉽게 계산할 수 있으므로 별도의 시컨트, 코시컨트, 코탄젠트 등의 함수는 제공하지 않는다. API에 어떤 함수를 포함시킬지 판단할 때는 필요한 모든 함수를 제공함으로써 얻어지는 편리함과 아주 긴 목록에서 필요한 함수를 찾아내는 번거로움 간의 적절한 조절이 필요하다. 어떤 것을 선택하더라도 모든 사용자를 만족시킬 수는 없고 파이썬은 만족시켜야 할 사용자가 아주 많다. 이미 API에 포함된 함수들 중에서도 중복되는 것은 아주 많다. 예를 들어 math.sin(x) / math.cos(x)를 간단히 계산할 수 있으므로 math.tan(x)는 필요 없다.

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