def 함수이름() :
문장
def 함수이름(매개변수, 매개변수 ... ) :
문장
print() 함수와 같이 매개변수를 원하는 만큼 받을 수 있는 함수를 가변 매개변수라 한다.
def 함수이름(매개변수, 매개변수, ..., *가변 매개변수) :
문장
가변 매개변수의 제약
- 가변 배개변수 뒤에는 일반 매개변수가 올 수 없음
- 가변 매개변수는 하나만 사용할 수 있음
'매개변수' = '값'의 형태로 되어있음. 매개변수를 입력하지 않았을 경우 매개변수에 들어가는 기본값
def print_n_times(value, n = 2) :
for i in range(n) :
print(value)
print_n_times("안녕하세요)
기본 매개변수의 제약
- 기본 매개변수 뒤에는 일반 매개변수가 올 수 없음
일반 매개변수 - 가변 매개변수 - 기본 매개변수 순서로 변수를 선언합니다.
def function(일반매개변수A, 일반매개변수B, *가변매개변수, 기본매개변수A=10, 기본매개변수B=20) :
print(일반매개변수A, 일반매개변수B)
print(*가변매개변수)
print(기본매개변수A, 기본매개변수B)
function(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
## 결과
1 2
3 4 5 6 7 8 9 10
10 20
매개변수 이름을 지정해서 입력하는 매개변수를 키워드 매개변수라고 부른다.
여러 함수의 호출 형태 예시
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
함수를 실행했던 위치로 돌아가라는 뜻으로 함수가 끝나는 위치를 의미한다.
함수의 결과 = 리턴된 값 = 리턴 값
def return_test():
print("A")
return
print("B")
return_test()
A
return 자료 : 그냥 돌아가지 말고, 이거 들고 돌아가! 츤데레 함수
리턴 뒤에 자료를 입력하면 자료를 가지고 리턴함
def return_test():
return 100
value = return_test()
print(value)
100
아무것도 리턴하지 않으면 None을 출력합니다.
예) 딕셔너리.get("키") => 키에 해당하는 값이 없으면 None을 출력했음
def return_test():
return
value = return_test()
print(value)
None
일반적으로 함수는 다음과 같이 값을 만들어 리턴하는 형태로 사용한다.
def 함수(매개변수):
변수 = 초기값
# 여러 가지 처리
# 여러 가지 처리
# 여러 가지 처리
return 변수
범위 내부의 정수를 모두 더하는 함수 예제
# start ~ end까지 있는 모든 정수를 더하는 함수
def sum_all(start, end) :
변수 = ㅇㅂㅇ
retuen 변수 형태로 작성할거임
변수에 어떤 초기값 (ㅇㅂㅇ)를 넣을 것인지가 중요함 이 덧셈에 영향을 주지 않는 0으로 세팅
만들기
# start ~ end까지 있는 모든 정수를 더하는 함수
def sum_all(start, end) :
변수 = 0
for i in range(start, end+1) :
변수 += i
return 변수
print(sum_all(1, 100))
5050
1) f(x) = 2x+1
def f_1(x) :
return (2 * x) + 1
print(f_1(10))
21
2) f(x) = x^2+2x+1
def f_2(x) :
return (x ** 2) + (2 * x) + 10
print(f_2(10))
130
def mul(*values) :
output = 1
for value in values :
output *= value
return output
print(mul(5, 7, 9, 10))
3150