Time for us to shine
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 4주차 본문
▶4주차 미션 (7/24 ~ 7/30)
진도 : Chapter 05
기본 미션 : p.287 [직접 해보는 손코딩: 범위 내부의 정수를 모두 더하는 함수] 실행 후 코드가 입력된 화면 및 실행 결과 화면 캡쳐하기
선택 미션 : 매개변수, 기본 매개변수, 가변 매개변수에 대해 간략하게 정리하기
Chapter 05 함수
05-1. 함수 만들기
- 기본개념
- 함수를 호출한다 : 함수를 사용한다, 함수를 실행한다
- 매개변수(=parameter) : 함수의 괄호 안에 넣는 변수
- 리턴값 : 함수를 호출해서 최종적으로 나오는 결과
ex) len("안녕하세요") --> 5 (=리턴값) - 참조 : 변수에 접근하는 것
- 함수의 기본 (매개변수 X)
def 함수 이름():
문장
- 함수의 기본 (매개변수 O)
def 함수 이름(매개변수, 매개변수, .......):
문장
- 매개변수 value --> "안녕하세요" 가 들어감
매개변수 n --> 5가 들어감
- 매개변수와 관련된 TypeError
1. 함수를 생성할 때 매개변수를 만들었는데, 함수를 호출할 때 매개변수를 덜 넣었을 경우
2. 함수를 생성할 때 매개변수를 만들었는데, 함수를 호출할 때 매개변수를 더 넣은 경우
따라서, 함수를 호출할 때는 함수를 선언할 때와 같은 개수의 매개변수를 입력해야함
- 가변 매개변수 : 매개변수를 원하는 만큼 받을 수 있는 함수, 매개변수 개수가 변할 수 있음
- 가변 매개변수 뒤에는 일반 매개변수가 올 수 없음
- 가변 매개변수는 하나만 사용할 수 있음
- 이러한 제약이 만들어진 이유 : 이러한 제약이 없으면 가변 매개변수가 어디부터 어디까지인지 알 수 없
def 함수 이름(매개변수, 매개변수, ......, *가변 매개변수):
문장
- 매개변수 n을 앞으로 옮기고, 가변 매개변수 *values를 뒤로 밀었음
가변 매개변수 *values는 리스트처럼 사용하면 됨
# 주의할 점print_n_times("안녕하세요", "즐거운", "파이썬 프로그래밍", 3)
- 기본 매개변수 : 매개변수에 아무것도 넣지 않아도 들어가는 값
- 기본 매개변수 뒤에는 일반 매개변수가 올 수 없음
- 기본 매개변수는 다른 매개변수들보다도 가장 마지막에 입력해야함
-------------------------------------------------------------------------------------------------------------------------------------------------------
- 키워드 매개변수
1. 기본 매개변수가 가변 매개변수보다 앞에 올 때 --> 의미 없음 (에러!!)
n --> "안녕하세요" 가 들어감
values --> ["즐거운", "파이썬 프로그래밍"] 이 들어감
But range() 함수의 매개변수에는 숫자만 들어올 수 있으므로 오류 발생
2. 가변 매개변수가 기본 매개변수보다 앞에 올 때 --> 가변 매개변수가 우선으로 됨
두 가지를 함께 사용할 수 있는 방법은 없을까?
이런 상황에 대비해서 키워드 매개변수 라는 기능을 만들었음
- 키워드 매개변수
- 매개변수 이름을 지정해서 입력하는 매개변수
while True:
print(".", end="") # "."을 출력함
# 기본적으로 end가 "\n" 이라 줄바꿈이 일어나는데
# 빈 문자열 ""로 바꿔서 줄바꿈이 일어나지 않게 함
# end="" : 키워드 매개변수
- 기본 매개변수 중에서 필요한 값만 입력하기
def test(a, b=10, c=100):
print(a + b + c)
# 1) 기본 형태
test(10, 20, 30)
# 2) 키워드 매개변수로 모든 매개변수를 지정한 형태
test(a=10, b=100, c=200)
# 3) 키워드 매개변수로 모든 매개변수를 마구잡이로 지정한 형태
test(c=10, a=100, b=200)
# 4) 키워드 매개변수로 일부 매개변수만 지정한 형태
test(10, c=200)
결과 : 60 / 310/ 310 / 220
- return 키워드
- 함수를 실행했던 위치로 돌아가라는 의미
- 함수를 여기서 끝내라는 의미
1. 자료 없이 리턴하기
return 키워드 만나는 순간 함수가 종료되어 결과적으로 "A 위치입니다." 만 출력하고 프로그램이 종료됨
2. 자료와 함께 리턴하기
return 뒤에 자료를 입력하면 자료를 가지고 리턴한다 (=돌아간다)
return 뒤에 있는 100을 가지고 감
3. 아무것도 리턴하지 않기
아무것도 리턴하지 않았을때는 None이 출력됨
05-2. 함수의 활용
재귀 함수 : 자기 자신을 호출하는 함수
1. 팩토리얼
- n! = n * (n-1) * (n-2) * ... * 1
1) 반복문으로 팩토리얼 구하기
2) 재귀 함수로 팩토리얼 구하기
2. 피보나치 수열
- a_1 = 1
a_2 = 1
a_n = a_{n-1) + a_{n-2}
1) 코드를 실행했을 때 굉장히 느림
🎁기본미션
🎁선택미션
매개변수, 기본 매개변수, 가변 매개변수에 대해 이해한 내용을 바탕으로 위와 같이 포스팅 함
'혼공학습단 > 혼자 공부하는 파이썬 (개정판)' 카테고리의 다른 글
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 6주차 (0) | 2023.08.20 |
---|---|
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 5주차 (0) | 2023.08.10 |
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 3주차 (0) | 2023.07.23 |
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 2주차 (0) | 2023.07.16 |
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 1주차 (0) | 2023.07.09 |