이 자습서에서는 def 키워드를 사용하여 Python 함수를 개발하는 방법을 배웁니다.
1. function 이란 무엇인가?
함수는 작업을 수행하거나 값을 반환하는 명명된 코드 블록입니다.
2. 파이썬에서 함수가 필요한 이유
프로그램에서 작업을 여러 번 수행해야 합니다. 그리고 동일한 작업에 대한 코드를 모든 곳에 복사하고 싶지 않을 것입니다.
이렇게 하려면 코드를 함수로 래핑하고 이 함수를 사용하여 필요할 때마다 작업을 수행합니다.
예를 들어 화면에 값을 표시하고 싶을 때마다 print() 함수를 호출해야 합니다. 장면 뒤에서 Python은 화면에 값을 표시하기 위해 print() 함수 내부의 코드를 실행합니다.
실제로는 함수를 사용하여 큰 프로그램을 더 작고 관리하기 쉬운 부분으로 나눕니다. 이 기능을 사용하면 프로그램을 더 쉽게 개발, 읽기, 테스트 및 유지 관리할 수 있습니다.
print() 함수는 파이썬의 많은 내장 함수 중 하나입니다. 이는 이러한 기능이 프로그램의 모든 곳에서 사용 가능함을 의미합니다.
이 자습서에서는 사용자 정의 Python 함수를 정의하는 방법을 배웁니다.
3. 파이썬 함수 정의
인사말을 표시하는 간단한 함수는 다음과 같습니다.
def greet():
""" Display a greeting to users """
print('Hi')
이 예제는 함수의 가장 간단한 구조를 보여줍니다. 함수에는 함수 정의와 본문이라는 두 가지 주요 부분이 있습니다.
1) 함수 정의
함수 정의는 def 키워드와 함수 이름(greet)으로 시작합니다.
함수가 작업을 수행하기 위해 정보가 필요한 경우 괄호() 안에 정보를 지정해야 합니다. 이 예제의 welcome 함수는 정보가 필요하지 않으므로 괄호가 비어 있습니다.
함수 정의는 항상 콜론(:)으로 끝납니다.
2) 함수 내용
함수 정의 뒤에 오는 모든 들여쓰기 라인은 함수의 본문을 구성합니다.
세 개의 따옴표로 둘러싸인 텍스트 문자열을 docstring이라고 합니다. 기능이 수행하는 작업을 설명합니다. Python은 docstring을 사용하여 함수에 대한 문서를 자동으로 생성합니다.
print('Hi') 행은 함수 본문에서 실제 코드의 유일한 행입니다. welcome() 함수는 print('Hi')라는 한 가지 작업을 수행합니다.
4. 함수 호출
함수를 사용하려면 호출해야 합니다. 함수 호출은 함수 내부의 코드를 실행하도록 Python에 지시합니다.
함수를 호출하려면 함수 이름을 쓰고 그 뒤에 함수가 필요로 하는 정보를 괄호 안에 적습니다.
다음 예제에서는 greet() 함수를 호출합니다. welcome() 함수는 정보가 필요하지 않으므로 다음과 같이 빈 괄호를 지정해야 합니다.
greet()
5. Python 함수에 값(매개변수) 전달
사용자를 이름으로 인사하고 싶다고 가정합니다. 이를 위해서는 다음과 같이 함수 정의의 괄호 안에 이름을 지정해야 합니다.
def greet(name):
이름은 함수 매개변수 또는 단순히 매개변수라고 합니다.
함수 정의에 매개변수를 추가하면 함수 본문 내에서 변수로 사용할 수 있습니다.
def greet(name):
print(f"Hi {name}")
그리고 이름 매개변수는 외부가 아닌 greet() 함수 내부에서만 접근할 수 있습니다.
매개변수를 사용하여 함수를 호출할 때 정보를 전달해야 합니다. 예를 들어:
greet('John')
Output:
Hi John
함수에 전달하는 값을 인수라고 합니다. 이 예에서 'John'은 인수입니다.
또한 변수를 전달하여 함수를 호출할 수 있습니다.
first_name = 'Jane'
greet(first_name)
이 예에서 first_name 변수는 greet() 함수의 인수이기도 합니다.
6. Parameters vs. Arguments
경우에 따라 매개변수와 인수가 같은 의미로 사용됩니다. 함수의 매개변수와 인수를 구별하는 것이 중요합니다.
매개변수는 함수에 필요한 정보 조각입니다. 그리고 함수 정의에서 매개변수를 지정합니다. 예를 들어, greet() 함수에는 이름이라는 매개변수가 있습니다.
인수는 함수에 전달하는 데이터 조각입니다. 예를 들어 텍스트 문자열 'John' 또는 변수 jane은 함수 인수입니다.
7. 값 반환(return)
함수는 greet() 함수와 같은 작업을 수행할 수 있습니다. 또는 값을 반환할 수 있습니다. 함수가 반환하는 값을 반환 값이라고 합니다.
함수에서 값을 반환하려면 함수 본문 내에서 return 문을 사용합니다.
return value
다음 예제에서는 인사말을 화면에 표시하는 대신 인사말을 반환하도록 greet() 함수를 수정합니다.
def greet(name):
return f"Hi {name}"
welcome() 함수를 호출하면 반환 값을 변수에 할당할 수 있습니다.
greeting = greet('John')
그리고 화면에 보여주세요:
print(greeting)
새로운 greet() 함수는 print() 함수에 의존하지 않기 때문에 이전 함수보다 낫습니다.
나중에 다른 애플리케이션에서 greet() 함수를 재사용할 수 있습니다. 예를 들어 웹 애플리케이션에서 사용자가 로그인한 후 인사하는 데 사용할 수 있습니다.
8. 여러 매개변수가 있는 Python 함수
함수는 0개, 1개 또는 여러 개의 매개변수를 가질 수 있습니다.
다음 예제에서는 두 숫자의 합을 계산하는 sum()이라는 함수를 정의합니다.
def sum(a, b):
return a + b
total = sum(10,20)
print(total)
Output:
30
이 예제에서 sum() 함수는 두 개의 매개 변수 a와 b를 가지며 이들의 합계를 반환합니다.
함수에 여러 매개변수가 있는 경우 쉼표를 사용하여 매개변수를 구분해야 합니다.
함수를 호출할 때 모든 인수를 전달해야 합니다. 함수에 더 많거나 적은 인수를 전달하면 오류가 발생합니다.
다음 함수 호출에서 a는 10이고 b는 함수 본문 내부에서 20입니다.
total = sum(10, 20)
9. Summary
- Python 함수는 작업을 수행하거나 값을 반환하는 재사용 가능한 명명된 코드 블록입니다.
- def 키워드를 사용하여 새 함수를 정의합니다. 함수는 함수 정의와 본문으로 구성됩니다.
- 함수는 0개 이상의 매개변수를 가질 수 있습니다. 함수에 하나 이상의 매개변수가 있는 경우 동일한 수의 인수를 함수에 전달해야 합니다.
- 함수는 작업을 수행하거나 값을 반환할 수 있습니다. return 문을 사용하여 함수에서 값을 반환합니다.
refreance: https://www.pythontutorial.net/python-basics/python-functions/
'Programing > Python' 카테고리의 다른 글
Python Keyword Arguments: 키워드 인수 소개 (0) | 2023.03.06 |
---|---|
Python Default Parameters: 파이썬 기본 매개변수 (0) | 2023.03.06 |
Python pass (0) | 2023.03.04 |
Python continue: 현재 반복을 건너뛰고 다음 반복을 시작 (0) | 2023.03.04 |
Python break: 반복문 중단하기 (0) | 2023.03.04 |
댓글