[python] 함수 사용하기

Hello, world! 를 출력하는 함수 만들기

# 파이썬은 함수 라는 기능을 제공하는데, 특정 용도의 코드를 한 곳에 모아 놓은 것을 뜻한다.
# 함수를 사용하면, 다음과 같은 이점이 있다.
# 1. 코드의 용도를 구분할 수 있다.
# 2. 코드를 재사용할 수 있다.
# 3. 실수를 줄일 수 있다.

# 함수는 아래와 같은 방법으로 만들 수 있다.
# 코드는 반드시 들여쓰기를 지켜야 한다.
# def 함수이름():
#     코드
def hello():
    print('Hello, world!')


# 함수를 사용하는 것을 "함수를 호출한다" 라고 한다.
# 함수의 호출은 다음과 같이 함수 이름과 같이 ()를 적어 주면 된다.
# 함수의 호출은 함수가 정의되고 난 이후에만 가능하다
hello()


# 내용이 없는 빈 함수를 만들 때는 코드 부분에 pass를 넣어준다.
# pass는 아무 일을 하지 않아도 함수의 틀을 유지할 필요가 있을 때 사용한다.
def func():
    pass

덧셈 함수 만들기

# 앞서 만들어본 hello 함수는 항상 하는 일이 고정되어 있다.
# 이번에는 함수에 값을 넣어서 동작을 바꿔보자.
# 함수에서 값을 받으려면 아래와 같이 () 안에 변수 이름을 지정해주면 된다.
# 이 변수를 매개변수(parameter)라고 한다.
# def 함수이름(매개변수1, 매개변수2, ...)
#     코드

# 이제 두 수를 더하는 함수를 만들어 보자
def add(a, b):
    print(a + b)


add(1, 2)


# 파이썬에서는 함수의 : 바로 다음 줄에 """ """ 로 문자열을 입력하면 함수에 대한 설명을 넣을 수 있다.
# 이런 방식의 문자열을 독스트링(documentation strings, docstrings) 이라고 한다.
# 독스트링의 위에는 다른 코드가 오면 안된다.
# def 함수이름(매개변수):
#     """독스트링"""
#     코드

def add_with_docstrings(a, b):
    """이 함수는 a와 b를 더한 뒤 결과를 출력하는 함수이다."""
    print(a + b)


# 함수를 호출해도 docstrings가 출력되진 않는다.
add_with_docstrings(2, 3)

# 함수 이름.__doc__ 을 사용하면 docstrings를 가져올 수 있다.
print(add_with_docstrings.__doc__)

함수 결과 반환하기

# 함수 안에서 return 을 사용하면 값을 함수 바깥으로 반환한다. (return 에 값을 지정하지 않으면 None을 반환)
# def 함수이름(매개변수):
#     return 반환값

# 값을 반환하는 add 함수를 만들어보자
def add(a, b):
    return a + b


x = add(1, 2)  # 1 과 2 를 더한 값인 3을 반환
print(x)


# return 은 값을 반환하는 기능뿐만 아니라 함수 중간에서 바로 빠져나오는 기능도 있다.
# 다음은 매개변수 a 가 0이면 바로 함수를 종료한다.
def not_0(a):
    if a == 0:
        return
    print(a)


not_0(5)
not_0(0)  # 아무것도 출력되지 않는다.

함수에서 값 여러개 반환하기

# 함수에서 값을 여러 개 반환할 때는 return 에 값이나 변수를 , 로 구분해서 지정하면 된다.
# (튜플이 반환된다.)
# def 함수이름(매개변수):
#     return 반환값1, 반환값2, ...

# 두 수를 더한 값과 뺀 값을 반환하는 함수를 만들어보자.
def add_sub(a, b):
    return a + b, a - b


x, y = add_sub(1, 2)  # 튜플 언패킹을 이용
print(x, y)

# 다음은 모두 여러 값을 반환할 수 있는 코드이다.
# return 1, 2
# return (1, 2)
# return [1, 2]

Updated:

Leave a comment