Chapter05 함수 (5-1 함수 만들기)

lasso·2021년 5월 31일
0

혼자공부하는파이썬

목록 보기
12/17

요약

  • 호출은 함수를 실행하는 행위를 말합니다.
  • 매개변수는 함수의 괄호 내부에 넣는 것을 의미합니다.
  • 리턴값은 함수의 최종적인 결과를 의미합니다.
  • 가변 매개변수 함수는 매개변수를 원하는 만큼 받을 수 있는 함수입니다.
  • 기본 매개변수는 매개변수에 아누것도 넣지 않아도 들어가는 값입니다.

함수의 기본

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번 다음과 같은 방정식을 파이썬 함수로 만들어 보세요

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

2번 다음 빈칸을 채워 매개변수로 전달된 값들을 모두 곱해서 리턴하는 가변 매개변수 함수를 만들어보세요.

def mul(*values) :
    output = 1
    for value in values :
        output *= value
    return output
print(mul(5, 7, 9, 10))
3150
profile
라쏘, 릿지, 엘라스틱넷 중 라쏘를 담당하고 있습니다.

0개의 댓글