1. 가변 매개변수
# def 함수 이름(매개변수, 매개변수, ....., *가변 매개변수):
# 문장
def print_n_times(n, *values):
for i in range(n):
for value in values:
print(value)
print_n_times(3, "사사키", "로키", "17")
- 가변 매개변수 뒤에는 일반 매개변수 접근 불가능
- 가변 매개변수는 하나만 사용 가능
2. return
함수를 실행했던 위치로 복귀, 함수를 여기서 끝내라는 의미
# A만 출력
def return_test():
print("A")
return
print("B")
return_test()
- 리턴 뒤에 자료를 입력하면, 그 자료를 가지고 리턴
# 자료, 빈 값을 리턴할 때는 변수를 이용해서 함수를 호출
def return_test():
return 100
value = return_test()
print(value)
3. 재귀 함수
자기 자신을 호출. 메모화(중복 제거)를 통해 문제 해결
# 재귀 함수로 구현한 피보나치 수열
# global 키워드: 함수 외부를 참조
counter = 0
def fibonacci(n):
print("fibonacci({})를 구합니다.".format(n))
global counter
counter += 1
if n == 1:
return 1
if n == 2:
return 2
else:
return fibonacci(n-1) + fibonacci(n-2)
메모화?!?!?!
딕셔너리를 사용해서 중복 제거
# 메모 변수 생성
dictionary = {
1: 1,
2: 1
}
# 함수 선언
def fibonacci(n):
if n in dictionary:
return dictionary[n]
else:
output = fibonacci(n-1) + fibonacci(n-2)
dictionary[n] = output
return output
print(fibonacci(10))
print(fibonacci(20))
print(fibonacci(30))
print(fibonacci(40))
print(fibonacci(50))'TIL > Python' 카테고리의 다른 글
| 문자열, 리스트, 딕셔너리와 관련된 기본 함수 (0) | 2024.01.23 |
|---|---|
| 범위 자료형과 whlie 반복문 (1) | 2024.01.23 |
| 딕셔너리와 반복문 (0) | 2024.01.23 |
| 리스트와 반복문 (0) | 2024.01.23 |