Windows · Python 3.12.4. 본문의 첫 예제를 실행하여 표준 출력과 예상 결과가 일치함을 확인했습니다. 연습문제의 모든 입력을 검증한 것은 아닙니다.
이 글의 순서 4개 단락
135분을 2시간 15분처럼 나타내려면 60으로 나눈 몫과 나머지가 필요합니다. 이 계산을 함수로 만들어 두면 다른 분 단위 시간에도 같은 기능을 다시 사용할 수 있습니다. 이 강의의 예제는 Python 3.12를 기준으로 합니다.
함수를 정의하고 호출하기
함수는 이름을 붙여 둔 코드 묶음입니다. def 뒤에 함수 이름과 괄호를 쓰고, 콜론 다음 줄부터 함수가 할 일을 들여 써서 정의합니다. 괄호 안에 쓰는 total_minutes는 함수가 전달받을 값을 가리키는 매개변수입니다.
함수 이름 뒤에 괄호와 값을 쓰면 함수를 호출합니다. 예를 들어 split_time(135)에서 135는 함수에 전달하는 값입니다. 함수는 이 값을 total_minutes로 받아 계산합니다.
분을 시간과 남은 분으로 바꾸기
다음 예제는 입력을 받지 않습니다. 코드에 적힌 135와 50을 각각 함수에 전달합니다.
def split_time(total_minutes):
hours = total_minutes // 60
minutes = total_minutes % 60
return hours, minutes
hours, minutes = split_time(135)
print(f"135분은 {hours}시간 {minutes}분입니다.")
hours, minutes = split_time(50)
print(f"50분은 {hours}시간 {minutes}분입니다.")

예상 출력:
135분은 2시간 15분입니다.
50분은 0시간 50분입니다.
135 // 60의 몫은 2이고, 135 % 60의 나머지는 15입니다. 따라서 함수는 두 결과를 return으로 호출한 곳에 돌려줍니다. hours, minutes = split_time(135)는 반환된 두 값을 순서대로 두 변수에 나누어 저장합니다. 50을 전달할 때도 같은 계산을 사용하므로 몫은 0, 나머지는 50입니다.
함수를 정의하는 것만으로는 내부 계산이 실행되지 않습니다. 각 호출에서 전달한 값으로 함수 본문이 실행되고, return을 만나면 결과를 돌려주면서 해당 호출이 끝납니다.
출력과 반환을 구분하고 경계 살피기
print는 값을 화면에 보여 줍니다. return은 값을 호출한 곳에 돌려주므로 변수에 저장하거나 다른 계산에 사용할 수 있습니다. 함수 안에서 결과를 print만 하고 반환하지 않으면 호출한 곳에서 그 계산 결과를 받을 수 없습니다. 명시적인 반환값 없이 끝난 함수는 None을 반환합니다. None은 값이 없음을 나타내는 Python의 특별한 값입니다.
함수를 호출하고 반환값을 저장하거나 사용하지 않으면 계산 결과를 나중에 활용할 수 없습니다. 예제에서는 반환된 두 값을 변수에 저장한 뒤 print에 사용합니다. 함수 안에서 만든 hours와 minutes는 그 함수 안에서 사용하는 지역 변수입니다. 함수 밖에서 같은 이름을 쓰더라도 예제처럼 반환값을 받아 별도로 저장해야 합니다.
이 함수는 0 이상의 정수 분을 대상으로 합니다. 0이면 0시간 0분, 60이면 1시간 0분입니다. 음수나 소수도 연산 자체는 가능하지만 여기서 의도한 시간 표현의 입력 범위에는 포함하지 않습니다. 현재 함수는 이를 검사하지 않으므로 실제 입력을 받는 프로그램에 쓰려면 호출 전에 범위와 자료형을 확인해야 합니다. 또 함수 본문을 들여 쓰지 않거나 함수 이름 뒤의 괄호를 빠뜨리지 않도록 주의하세요.
연습: 직사각형 넓이 반환하기
가로와 세로를 매개변수로 받아 넓이를 반환하는 rectangle_area 함수를 작성해 보세요. 가로가 4, 세로가 3일 때 반환값을 변수에 저장하고 출력합니다.
풀이
def rectangle_area(width, height):
return width * height
area = rectangle_area(4, 3)
print(f"넓이: {area}")
예상 출력은 넓이: 12입니다. 호출할 때 전달한 4와 3이 각각 width와 height에 들어가고, 곱한 결과를 return으로 돌려줍니다. 함수 밖에서는 그 값을 area에 저장해 출력합니다.
함수 정의와 반환에 관한 자세한 내용은 Python 3.12 공식 튜토리얼의 함수 정의를 참고하세요.
CHECK THE SOURCE
참고한 공식 문서
기능 설명은 위 문서를 참고했으며, 예제의 입력·결과와 한계는 본문에 따로 기록했습니다.