Python 에서 함수 정의 및 사용하기

PythonBeginner
지금 연습하기

소개

본 실습에서는 Python 에서 함수를 정의하고 사용하는 방법을 배웁니다. 함수는 코드를 구성하고 재사용성을 높이는 데 필수적입니다. 먼저 함수의 개념을 이해하고 Python 의 내장 함수 (built-in functions) 를 탐색하며, 매개변수 (parameters) 를 사용하여 함수를 호출하고 그 결과를 관찰하는 방법을 학습하게 됩니다.

내장 함수 탐색 후에는 자신만의 간단한 함수를 정의하는 방법을 배웁니다. 마지막으로, 직접 정의한 함수들을 호출하여 해당 함수가 포함하는 코드 블록을 실행하는 연습을 통해 Python 에서 함수를 생성하고 사용하는 것에 대한 이해를 공고히 할 것입니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 100%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

내장 함수 이해 및 사용하기

이 단계에서는 함수의 개념을 탐색하고 Python 의 내장 함수 (built-in functions) 를 사용하는 방법을 배웁니다. 함수는 특정 작업을 수행하는 재사용 가능한 코드 블록입니다. Python 은 print(), len(), sum()과 같이 즉시 사용할 수 있는 많은 내장 함수를 제공합니다.

이러한 함수들이 실제로 어떻게 작동하는지 확인하기 위해 Python 스크립트를 작성하는 것부터 시작하겠습니다.

먼저, 왼쪽의 WebIDE 파일 탐색기에서 builtin_functions.py 파일을 찾으십시오. 이 파일은 ~/project 디렉토리에 미리 생성되어 있습니다. 파일을 두 번 클릭하여 편집기에서 엽니다.

이제 builtin_functions.py 파일에 다음 Python 코드를 추가하십시오. 이 코드는 여러 내장 함수를 호출하는 방법을 보여줍니다.

## print() 함수를 사용하여 출력 표시
print("Hello, Python Functions!")

## len() 함수를 사용하여 문자열의 길이 얻기
message = "Hello World"
print(len(message))

## sum() 함수를 사용하여 리스트 내 숫자들의 합계 계산
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total)

코드를 작성한 후, Ctrl+S를 눌러 파일을 저장합니다.

스크립트를 실행하려면 WebIDE 에서 통합 터미널을 엽니다 (아직 열려 있지 않다면, 상단 메뉴에서 Terminal > New Terminal을 선택). 그런 다음 다음 명령을 실행합니다.

python ~/project/builtin_functions.py

터미널에서 각 print() 호출의 결과를 보게 될 것입니다.

Hello, Python Functions!
11
15

이 출력은 내장 함수 호출의 결과를 보여줍니다: print()는 텍스트를 표시하고, len()은 문자열의 문자 수를 반환하며, sum()은 리스트 항목들의 합계를 계산합니다.

매개변수와 반환 값을 가진 함수 사용하기

함수는 작업을 수행하기 위해 입력 데이터가 필요한 경우가 많습니다. 이 데이터는 매개변수 (parameters) (인수 (arguments) 라고도 함) 로 함수에 전달됩니다. 처리가 끝난 후, 함수는 결과를 되돌려 보낼 수 있으며, 이를 **반환 값 (return value)**이라고 합니다.

매개변수를 받는 함수를 탐색하고 반환 값을 사용하는 방법을 알아보기 위해 builtin_functions.py 스크립트를 확장해 보겠습니다.

WebIDE 편집기에서 builtin_functions.py 파일을 다시 엽니다. 파일 끝에 다음 코드를 추가하십시오.

## 여러 숫자 매개변수와 함께 max() 함수 사용
largest_number = max(10, 25, 15)
print(largest_number)

## 두 개의 매개변수와 함께 round() 함수 사용
pi_approx = 3.14159
rounded_pi = round(pi_approx, 2) ## 소수점 둘째 자리까지 반올림
print(rounded_pi)

## 리스트 매개변수와 함께 sorted() 함수 사용
unsorted_list = ['cherry', 'apple', 'banana']
sorted_list = sorted(unsorted_list)
print(sorted_list)

변경 사항을 파일에 저장합니다 (Ctrl+S).

이제 터미널에서 업데이트된 스크립트를 실행합니다.

python ~/project/builtin_functions.py

터미널에는 이전 코드와 새 코드의 출력이 모두 표시됩니다.

Hello, Python Functions!
11
15
25
3.14
['apple', 'banana', 'cherry']

새로운 출력을 검토해 보겠습니다.

  • max(10, 25, 15)는 세 개의 숫자를 매개변수로 받아 가장 큰 값인 25를 반환합니다.
  • round(pi_approx, 2)는 숫자 하나와 소수점 자릿수를 매개변수로 받습니다. 반올림된 값인 3.14를 반환합니다.
  • sorted(unsorted_list)는 리스트를 매개변수로 받아 요소를 오름차순으로 정렬한 새 리스트를 반환합니다.

각 경우에 우리는 함수가 반환한 값을 변수 (largest_number, rounded_pi, sorted_list) 에 저장한 다음 출력했습니다. 이것은 일반적이고 유용한 관행입니다.

간단한 함수 정의하기

내장 함수는 강력하지만, 사용자 정의 작업을 수행하기 위해 자신만의 함수를 만들어야 하는 경우가 많습니다. 이를 함수 정의 (defining a function) 라고 합니다.

Python 에서는 def 키워드를 사용하여 함수를 정의합니다. 기본 구문은 다음과 같습니다.

def function_name(parameters):
    """Docstring: 함수의 선택적 설명."""
    ## 실행될 코드 (함수 본문)
    ## ...
    return value  ## 선택적 반환문
  • def: 함수 정의를 시작하는 키워드입니다.
  • function_name: 함수에 대한 설명적인 이름입니다.
  • (parameters): 함수를 위한 입력 변수입니다. 함수는 0 개 이상의 매개변수를 가질 수 있습니다.
  • :: 콜론은 함수 헤더의 끝을 나타냅니다.
  • 들여쓰기 (Indentation): 함수 내부의 코드 줄은 들여쓰기 (일반적으로 4 칸 공백) 되어야 합니다. 이것이 Python 이 명령문들을 그룹화하는 방식입니다.

첫 번째 함수를 만들어 보겠습니다. WebIDE 파일 탐색기에서 my_functions.py 파일을 찾아 엽니다.

인사말을 출력하는 함수를 정의하기 위해 my_functions.py에 다음 코드를 추가합니다.

## 'greet'라는 간단한 함수 정의
def greet():
    """이 함수는 간단한 인사 메시지를 출력합니다."""
    print("Hello from a user-defined function!")

파일을 저장합니다.

이 시점에서 greet라는 함수를 성공적으로 정의했습니다. 하지만 이 스크립트를 실행해도 아무 일도 일어나지 않습니다. 함수를 정의하는 것은 Python 에게 해당 함수가 무엇을 하는지만 알려줄 뿐, 그 안의 코드를 실제로 실행하지는 않습니다. 함수 코드를 실행하려면 함수를 호출해야 하며, 이는 다음 단계에서 다룰 것입니다.

사용자 정의 함수 호출하기

함수를 정의한 후에는 해당 코드를 실행하기 위해 함수를 **호출 (call)**해야 합니다. 함수를 호출하는 것은 간단합니다. 함수 이름 뒤에 괄호 ()를 붙여주기만 하면 됩니다.

이전 단계에서 정의한 greet 함수를 호출해 보겠습니다.

WebIDE 편집기에서 my_functions.py 파일을 엽니다. 함수 정의 아래에 함수를 호출하는 코드 줄을 추가합니다.

## 'greet'라는 간단한 함수 정의
def greet():
    """이 함수는 간단한 인사 메시지를 출력합니다."""
    print("Hello from a user-defined function!")

## greet 함수를 호출하여 코드 실행
print("Calling the function now...")
greet()

파일을 저장합니다. 함수 호출인 greet()def greet(): 블록 뒤에 나타나는 것이 중요합니다. Python 은 파일을 위에서 아래로 읽으므로, 함수를 호출하기 전에 반드시 정의해야 합니다.

이제 터미널에서 스크립트를 실행합니다.

python ~/project/my_functions.py

콘솔에 다음과 같이 출력이 표시됩니다.

Calling the function now...
Hello from a user-defined function!

함수의 큰 장점은 재사용성입니다. 코드를 다시 작성하지 않고도 동일한 함수를 여러 번 호출할 수 있습니다. greet()를 다시 호출해 보겠습니다. my_functions.py를 다음과 같이 수정합니다.

## 'greet'라는 간단한 함수 정의
def greet():
    """이 함수는 간단한 인사 메시지를 출력합니다."""
    print("Hello from a user-defined function!")

## greet 함수를 여러 번 호출
print("Calling the function...")
greet()
print("Calling it again...")
greet()

파일을 저장하고 다시 한 번 실행합니다.

python ~/project/my_functions.py

출력에는 함수가 두 번 실행되었음이 표시됩니다.

Calling the function...
Hello from a user-defined function!
Calling it again...
Hello from a user-defined function!

이는 함수가 코드를 더 깔끔하고, 체계적이며, 재사용 가능하게 만드는 방법을 보여줍니다.

요약

본 실습 (lab) 에서는 Python 함수에 대한 기본 사항을 배웠습니다. print(), len(), sum()과 같은 Python 내장 함수를 탐색하고 스크립트에서 이를 호출하는 연습을 했습니다. 그런 다음 max(), round(), sorted()와 같은 예제를 사용하여 매개변수를 전달하고 반환 값을 사용하는 방법을 통해 함수가 작동하는 방식을 더 깊이 이해했습니다.

마지막으로, def 키워드를 사용하여 사용자 정의 함수를 정의하는 구문을 학습하고, 사용자 정의 함수를 호출하여 코드를 실행하는 연습을 했습니다. 이 실습은 모든 Python 프로그래머에게 핵심 기술인 모듈화되고 재사용 가능한 코드를 작성하기 위한 견고한 기반을 제공했습니다.