함수

서리·2024년 10월 24일

파이썬

목록 보기
3/40

🔶 함수를 사용하는 이유

  1. 반복되는 부분이 있는 경우 이를 한 번만 작성하기 위해
  2. 프로그램을 기능 단위의 함수로 분리 => 프로그램의 흐름을 일목요연하게 볼 수 있음
     

🔶 파이썬 함수의 구조

def 함수이름(매개변수):
    수행할_문장1
    수행할_문장2
    ...
  • def: 함수 만들 때 사용하는 예약어 (함수를 만드는 사람이 임의적으로 만들 수 있음)
  • 매개변수: 이 함수에 입력으로 전달되는 값 받는 변수
     

✅ 매개변수와 인수

📍 매개변수 (parameter)

  • 함수에 입력으로 전달된 값 받는 변수

📍 인수 (arguements)

  • 함수를 호출할 때 전달하는 입력값
def add(a, b)      # a, b는 매개변수
    return a + b
    
print(add(3, 4))   # 3, 4는 인수

  

🔶 입력값과 리턴값에 따른 함수의 형태

✅ 일반적인 함수

  • 입력값, 리턴값 모두 존재
def 함수이름(매개변수):
    수행할_문장
    ...
    return 리턴값
리턴값을_받을_변수 = 함수이름(입력인수1, 입력인수2, ...)

✅ 입력값이 없는 함수

def say():
    return 'Hi'
리턴값을_받을_변수 = 함수이름()

✅ 리턴값이 없는 함수

def add(a, b):
    print("%d, %d의 합은 %d입니다." % (a, b, a + b))
함수이름(입력인수1, 입력인수2, ...)
  • 리턴값은 return 명령어로만 돌려받을 수 있으므로 return이 없는 이 함수는 리턴값이 없는 함수임
  • print문은 함수의 구성 요소 중 하나인 '수행할 문장'에 해당

✅ 입력값, 리턴값 모두 없는 함수

def say():
    print('Hi')
함수이름()

  

🔶 매개변수 지정하여 호출하기

  • 함수 호출 시 매개변수 지정 가능
def sub(a, b):
    return a - b

이 함수에 매개변수를 지정하면...

>>> result = sub(a = 7, b = 3)     # a에 7, b에 3 전달
>>> print (result)
4

  

🔶 입력값이 몇 개가 될 지 모르는 경우

def 함수이름(*매개변수):
    수행할_문장
    ...
  • 입력값이 몇 개든지 매개변수 이름 앞에 * 붙이면 입력값 모두 모아 튜플로 만들어줌
def add_many(*args):
    result = 0;
    for i in args:
        result = result + i    # *args에 입력받은 모든 값 더함
    return result
  • 여기서 add_many(1, 2, 3)으로 함수 호출 시 6 리턴
profile
응애

0개의 댓글