Python - 함수 정의 및 호출 방법

파이썬에서 함수를 정의하고 호출하는 다양한 방법을 소개합니다.

함수를 정의하는 문법은 아래와 같습니다. 함수를 정의할 때는 def를 입력하고 다음에 함수 이름 function_name을 입력합니다. 인자는 (arg1, arg2, ...)처럼 지정하며, 리턴 값이 있을 때는 return val처럼 리턴하면 됩니다. 인자가 없거나 리턴 값이 없을 때는 이 부분을 생략하시면 됩니다.

def function_name(arg1, arg2, ...):
    ...
    return val

1. 함수 정의 : 인자 없고 리턴 값 없는 함수

인자를 받지 않고 리턴 값이 없는 함수는 아래와 같이 정의할 수 있습니다. 함수 호출할 때는 greet()처럼 호출하시면 됩니다.

def greet():
    print("Hello")


greet()

Output:

Hello

2. 함수 정의 : 인자가 있는 함수

함수가 인자를 받는다면, 아래와 같이 변수 이름을 입력하면 됩니다. 호출할 때는 greet("John")처럼 괄호 안에 인자를 전달합니다.

def greet(name):
    print("Hello, " + name)


greet("John")

Output:

Hello, John

인자가 2개 이상이라면, 아래와 같이 인자를 추가하시면 됩니다.

def greet(name1, name2):
    print("Hello, " + name1 + ", I'm " + name2)


greet("John", "Paul")

Output:

Hello, John, I'm Paul

3. 함수 정의 : 디폴트 매개변수

함수 인자에 기본으로 사용하는 값을 설정하면, 함수 호출 시 인자를 전달하지 않을 때 그 값이 사용됩니다. 이것을 디폴트 매개변수라고 합니다.

디폴트 매개변수는 name="John"처럼 기본 값을 설정하며, greet()처럼 인자 없이 호출할 때 name에 기본으로 설정한 값이 사용됩니다. greet("John Doe")처럼 명시적으로 인자를 전달하면, 디폴트 값 대신에 이 값이 사용됩니다.

def greet(name="John"):
    print("Hello, " + name)


greet()
greet("John Doe")

Output:

Hello, John
Hello, John Doe

4. 함수 정의 : 리턴 값이 있는 함수

함수에서 어떤 작업을 수행하고 결과 값을 함수 밖으로 전달해야하는 경우, 리턴 구문을 사용하시면 됩니다. return num처럼 어떤 값을 리턴할 수 있으며, return 호출 시 함수는 종료됩니다.

def absolute_value(num):
    if num >= 0:
        return num
    else:
        return -num


print(absolute_value(10))
print(absolute_value(-10))

Output:

10
10

5. 함수 정의 : 2개 이상의 값 리턴

함수는 하나의 객체를 리턴하지만, 아래와 같이 여러 값을 갖고 있는 리스트를 리턴하여 2개 이상의 값을 리턴하도록 만들 수 있습니다.

def myFunc():
    return ["hello", 100]


result = myFunc()
print(result)
print(result[0])
print(result[1])

Output:

['hello', 100]
hello
100

더 많은 예제는 Python - 함수에서 두개 이상의 값 리턴를 참고해주세요.

Loading script...
codechachaCopyright ©2019 codechacha