함수(function)이란 특별한 작업을 담당하는 명령어들의 모임입니다.
앞에서 print() 함수와 input() 함수를 사용하였는데 파이썬이 기본으로 제공하는 내장 함수는 상당히 많습니다.
먼저 계산과 관련된 abs() 함수를 살펴보도록 하겠습니다.
print(abs(-3))
<실행 결과>
3
abs() 함수는 -3의 절댓값을 계산한 후 3을 반환합니다.
함수가 반환한 값은 위의 예제처럼 print()를 통하여 출력하거나 그 값을 다른 변수에 저장하여 다른 수식에서 사용할 수 있습니다.
다음은 round() 함수가 있습니다. 이것은 반올림을 하는 함수입니다.
print(round(1.2345))
print(round(1.9876))
<실행 결과>
1
2
max 함수는 주어진 수 중에서 최댓값을 구하여 반환합니다.
print(max(10, 20))
<실행 결과>
20
min 함수는 최솟값을 계산하여 반환합니다.
print(min(10, 20, 30, 40, 50))
<실행 결과>
10
제곱근을 계산하는 경우는 특별한 문장을 추가해야 합니다.
아래의 예제를 통해 특별한 문장을 확인하여 볼까요?
from math import *
print(sqrt(4.0))
<실행 결과>
2.0
sqrt() 함수와 같은 수학적인 함수들은 math라고 하는 라이브러리에 저장되어 있습니다.
파이썬에서는 이것을 모듈(moudle)이라고 부르는데, 앞에서 설명드린 터틀 그래픽에서도 거북이를 사용하기 위해
import turtle
을 사용한 것과 같습니다.
math 라이브러리에는 사인함수 sin(), 코사인함수 cos(), 로그함수 log() 등의 함수가 존재합니다.
이것을 사용하면 다양한 수학적 계산을 할 수 있는데 의 값을 계산해보겠습니다.
from math import *
x = 2.0
y = 3.0
print(sqrt(x**2+y**2))
<실행 결과>
3.605551275463989
의 값을 소수점으로 표현하여 위의 실행 결과 값이 나왔습니다.
최근 봉민이는 매일 자료구조 과제를 하느라 컴퓨터 앞에만 앉아 있더니 점점 늘어나는 뱃살이 고민거리가 되었습니다.
그래서 생각한 것이 산악 자전거로 자취방에서 전자정보대학까지 통학을 하는 계획을 세웠는데 계산을 해보니 평지에서는 시속 20km/h, 오르막에서는 10km/h, 내리막에서는 30km/h가 가능하다고 합니다.

위와 같은 경로를 자전거로 주행한다면 시간이 얼마나 걸릴까요?