더북(TheBook)

코드 안에서는 함수명 뒤에 나오는 괄호 안에 인수(argument)를 콤마로 구분해 전달함으로써 함수를 호출할 수 있다. 파이썬이 프로그램을 실행할 때, 파이썬이 주어진 인수를 이용해 함수를 호출(call)(혹은 평가(evaluate))하고 값을 반환(return)한다. 엄격히 말하면 함수는 객체에 대한 참조를 반환하며, 이 객체가 값을 가지고 있는 것이다. 함수를 호출하는 문장도 일종의 표현식이므로, 함수를 호출할 때는 math.sin(x) * math.cos(y)처럼 변수와 리터럴을 이용해 복잡한 표현식을 만드는 방식을 그대로 사용할 수 있다. 그리고 표현식을 이용해 인수를 전달할 수도 있다. 파이썬은 표현식을 먼저 평가하고 그 결괏값을 인수로 전달한다. 따라서 math.sqrt(b*b - 4.0*a*c)처럼 같이 호출해도 파이썬은 의도한 바를 제대로 파악해 처리한다.

▼ 표 1.2.15 함수 호출 예

함수 호출

반환 값

설명

abs(-2.0)

2.0

내장 함수

max(3, 1)

3

인수 두 개를 받는 내장 함수

stdio.write('Hello')

 

도서 예제용 라이브러리 함수

math.log(1000, math.e)

6.907755278982137

math 모듈에 정의된 함수

math.log(1000)

6.907755278982137

두 번째 인수는 기본값 math.e

math.sqrt(-1.0)

실행 오류

음수의 제곱근

random.random()

0.3151503393010261

random 모듈에 정의된 함수

 

선택적 인수를 전달하지 않는 경우 기본값(default value)을 사용하는 함수도 있다. math.log()는 로그 밑수를 두 번째 인수에 선택적으로 받으며, 두 번째 인수를 지정하지 않는 경우 e를 밑수로 하는 자연로그를 구한다.

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