[Python] Chapter11 함수1

2 분 소요

Chapter11 함수1

함수 (Functions)

  • 함수 (Functions) 는 특정 작업을 수행하는 명령어들의 모음에 이름을 붙인 것
  • 함수는 작업에 필요한 데이터를 전달 받을 수 있으며 , 작업이 완료된 후에는 작업의 결과를 호출자에게 반환할 수 있음
  • 자주 사용되는 부분 문제를 함수로 작성하면 코드를 반복 작성할 필요가 없기 때문에 편리하며 , 호출하여 재 사용하면 됨
  • 파이썬에서 지원하는 세 종류의 함수
    ① 내장 (Built in) 함수 : Python 에서 제공하는 함수
    python 설치 후 사용 가능 ( print(), input(), len (), type()..) ② 라이브러리 패키지 Python 에서 제공하는 모듈
    해당 모듈을 프로그램에 포함한 후에 사용할 수 있음 . ③ 사용자 정의 (User defined) 함수
    사용자가 자신의 필요에 따라 특정 기능의 함수를 직접 작성
  • 함수 작성
def function_name (parameters):
    """ docstring """ # 옵션.. 없어도 됨
    statements # 함수 기능에 필요한 statements
    return ret_values # 반환할 것이 없으면 생략 가능
- def : 함수의 시작을 알림
- 함수 이름 (function_name ) : identifier(변수 ) 규칙대로 이름 정의
- parameters( 매개변수 )
    - 함수의 입력 (콤마로 분리 ), 필요하지 않으면 괄호만 표시
    - 함수 호출시 전달하는 데이터는 함수의 매개변수로 전달
    - 함수 호출시 전달하는 데이터를 인수 (argument) 라 함
- """docstring""" : 주석 함수 설명 ), 생략 가능
- return : 실행 결과를 호출한 코드로 반환 . 반환 값이 없으면 생략

함수 호출하기

def checkOddEven ( N ) :# N 은 매개변수
    
    """
    docstring part
        Return True if N is even, else return False.
        by 20160000 홍길동
    """
    if N % 2 == 0 :
        return True # 값을 반환하며 함수 종료
    else:
        return False # return 문은 필요 시 여러 번 사용 가능
print ( checkOddEven (10) ) # True
M = 11
print ( checkOddEven (M) ) # False
  • 입력 값과 반환 값이 모두 없는 함수 호출

    func_name

    : 함수의 입력이 없으면 함수명 옆에 빈 괄호만 두며 , 반환값이 없기 때문에 값을 반환 받을 변수에 할당할 필요가 없음

  • 반환 값이 있는 함수 호출

    var_name = func_name

    : 함수가 값을 반환하면 함수 호출이 반환 값으로 대체

  • 인수 전달 : 위치에 따라 인수가 매개변수로 전달

def get_sum ( start, end ):
    sum = 0
    for i in range(start, end+1) :
     sum += i
    return sum
sum1 = get_sum (1, 10)
sum2 = get_sum (20,30)
print(sum1, sum2) # 55 275
  • 인수 전달 : 매개변수의 이름을 명시적으로 지정해서 인수를 전달
def nPrint (message, n):
    for i in range(0, n) :
        print(message)
nPrint ("Hello",3)# 정상적인 호출
print() #줄바꿈
nPrint (n = 2, message = "Hello") # 정상적인 호출
  • 함수의 반환값
    • return 키워드를 사용하여 값 반환값 을 호출자에게 반환
    • 함수에 return 문 없이 반환 값이 없거나 , return 예약어만 있는 경우는 반환값이 없는 함수이므로 None 을 기본적으로 반환
def calculate_area (radius):
    area = 3.14 * radius**2
    return area

c_area = calculate_area (5.0)
print( c_area ) #78.5
  • 함수에서 return 문이 여러 번 나오는 경우
    return 문이 여러 번 나오더라도 먼저 만나는 return 문에서 함수는 값을 반환하고 종료
def get_max (a,b ):
    if a > b :
        return a # a > b 경우이므로 a 값을 반환하면서 종료
    else:
        return b # a <= b 경우이므로 b 값을 반환하면서 종료
max = get_max (10, 20)
print(max) # 20
  • 반환값이 여러 개인 경우
    반환값이 2 개 이상인 경우 튜플로 묶어서 반환
def add_multiply (x,y):
    sum = x + y
    mul = x * y
    return sum, mul # 반환값 2 개를 튜플로 반환 .
a = int (input('Enter a : '))
b = int (input('Enter b : '))
m, n = add_multiply (a,b ) # 변수 m 은 a+b 의 값 , 변수 n 은 a*b 의 값을 할당 받음
print( m,n)

카테고리:

업데이트:

댓글남기기