728x90
반응형
FUNCTIONS (함수)
1. 구성요소
- def: 함수를 정의한다는 키워드.
- 함수이름: 호출할 때 사용할 이름. (예: my_function)
- 매개변수: 함수가 처리할 입력값. (없을 수도 있음)
- return: 함수 실행 결과를 반환.
2. 함수의 실행 순서
- 함수 정의: 메모리에 저장.
- 함수 호출: 정의된 코드를 실행.
- 매개변수 전달: 입력값을 처리.
- 결과 반환: 호출된 위치로 반환.
3. 함수의 반환값과 실행 예제
3-1. 반환값이 없는 함수
- return이 없으면 결과를 반환하지 않고, 내부 로직만 실행.
def say_hi():
print("안녕하세요")
say_hi()
# 출력: 안녕하세요
4. 파라미터가 있는 경우
4-1. 파라미터가 하나인 함수
- 파라미터로 숫자 하나를 받아 해당 숫자의 제곱을 반환하는 예제:
def squared(num):
return num ** 2
print(squared(4)) # 출력: 16
4-2. 파라미터가 여러 개인 함수
- 파라미터 두 개를 받아 계산 후 결과를 반환하는 예제:
def add_numbers(a, b):
return a + b
print(add_numbers(3, 7)) # 출력: 10
def squared(num):
return num ** 2
print(squared(4)) # 출력: 16
5. 반환값이 있는 함수
- return 문을 사용해 결과값을 반환합니다.
- Python에서는 여러 값을 **튜플(tuple)**로 묶어 반환할 수 있습니다.
def squared(num):
return num ** 2
result = squared(3)
print(result)
# 출력: 9
5-1. 다중 반환값
- 여러 값을 반환할 수도 있습니다.
def calc(num1, num2):
return num1 + num2, num1 * num2
add, mul = calc(3, 5)
print(add, mul)
# 출력: 8, 15
6. 기본 매개변수(Default Parameters)
- 함수의 파라미터에 기본값을 설정하면, 값을 넘기지 않았을 때 기본값이 사용됩니다.
def introduce(name="홍길동", age=25):
print(f"제 이름은 {name}이고 나이는 {age}살입니다.")
introduce() # 출력: 제 이름은 홍길동이고 나이는 25살입니다.
introduce(name="김나나", age=30) # 출력: 제 이름은 김나나이고 나이는 30살입니다.
7. Lambda 표현식
- 익명 함수로 불리며, 한 줄로 간단한 연산을 표현할 때 유용.
- 일반 함수와 달리 이름이 없습니다.
- 주로 filter(), map(), reduce() 등과 사용됩니다.
Lambda 문법:
lambda 매개변수: 반환값
예제:
square = lambda x: x ** 2
print(square(4))
# 출력: 16
add = lambda x, y: x + y
print(add(3, 5))
# 출력: 8
참고
: Lambda는 가독성이 떨어질 수 있어 간단한 경우에만 사용 권장.
8. 함수 작성 팁
- 명확한 함수 이름: 함수 이름은 동작을 잘 설명해야 합니다.
- 짧고 간결한 함수: 한 함수는 하나의 역할에 집중해야 합니다.
- 문서화: Docstring을 사용해 함수의 동작과 입력/출력 설명.
- 테스트: 다양한 입력값으로 함수를 테스트하여 안정성을 확보하세요.
728x90
반응형
'Python > 이론' 카테고리의 다른 글
104. [Python] 프로그래밍 기본 사항 : Random & Datetime (1) | 2025.01.21 |
---|---|
103. [Python] 프로그래밍 기본 사항 : Built-in Functions (1) | 2025.01.21 |
100. [Python][Tip] 숫자 리스트 역순 처리하는 방법 (0) | 2025.01.21 |
97. [Python] 프로그래밍 기본 사항 : Loop ( 반복문 ) (0) | 2025.01.20 |
95. [Python] 프로그래밍 기본 사항 : COMPARISON OPERATORS (비교연산자) (0) | 2025.01.20 |