함수

BANG·2020년 11월 24일
0

Python 기본

목록 보기
11/15

함수

  • 반복되는 부분이 있을 경우 "반복적으로 사용되는 가치 있는 부분"을 한 뭉치로 묶어서 "어떤 입력값을 주었을 때 어떤 결괏값을 돌려준다"라는 식의 함수로 작성
  • 프로그램을 함수화하면 프로그램 흐름을 일목요연하게 볼 수 있음
  • 함수의 결괏값은 언제나 하나
  • 함수 안에서 선언한 매개변수는 함수 안에서만 사용
  • 매개변수는 함수 밖에서는 사용되지 않음
def 함수명(매개변수):
    수행할 문장

return

  • 함수의 결괏값을 돌려주는 명령어
  • return을 단독으로 써서 함수를 즉시 빠져나갈 수 있음

매개변수(parameter)와 인수(arguments)

  • 매개변수는 함수에 입력으로 전달된 값을 받는 변수를 의미
  • 인수는 함수를 호출할 때 전달하는 입력값
def add(a, b):  # a, b는 매개변수
    return a+b

print(add(3, 4))  # 3, 4는 인수
  • 입력값이 있고 결괏값이 있는 함수
  • 입력값이 없는 함수
  • 결괏값이 없는 함수
  • 입력값도 결괏값도 없는 함수

매개변수 지정하여 호출

def add(a, b):
    return a+b

result = add(a=3, b=7)
print(result)

입력값이 몇 개가 될지 모를 때

def 함수이름(*매개변수): 
    수행할 문장
def add_many(*args):
    result = 0
    for i in args: 
        result = result + i 
    return result 

a = add_many(1,2,3)
print(a)

b = add_many(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
print(b)
def add_mul(choice, *args): 
    if choice == "add": 
        result = 0 
        for i in args: 
            result = result + i 
    elif choice == "mul": 
        result = 1 
        for i in args: 
            result = result * i 
    return result 

result = add_mul('add', 1,2,3,4,5)
print(result)

result = add_mul('mul', 1,2,3,4,5)
print(result)
  • 키워드 파라미터

매개변수에 초깃값 미리 설정

  • 초기화시키고 싶은 매개변수를 항상 뒤쪽에 놓아야 함
# -*- coding: cp949 -*- 

def say_myself(name, old, man=True): 
    print("나의 이름은 %s 입니다." % name) 
    print("나이는 %d살입니다." % old) 
    if man: 
        print("남자입니다.")
    else: 
        print("여자입니다.")

say_myself("가나", 27)
say_myself("기니", 27, True)
say_myself("다리", 27, False)

함수 안에서 함수 밖의 변수를 변경

  • return 사용하기
a = 1 
def vartest(a): 
    a = a +1 
    return a

a = vartest(a) 
print(a)
  • global 명령어 사용
a = 1 
def vartest(): 
    global a 
    a = a+1

vartest() 
print(a)

lambda 함수

  • 함수를 한줄로 간결하게 만들 때 사용
add = lambda a, b: a+b  # 두 개의 인수를 받아 서로 더한 값을 돌려주는 lambda 함수
result = add(3, 4)
print(result)
profile
Record Everything!!

0개의 댓글

관련 채용 정보