Python/Python 기초

파이썬 강의 - 6. 함수(1)

wtc 2024. 6. 9. 18:34

함수

코드의 재사용과 구조화를 위해서 꼭 필요한 것

 

특정 작업을 수행하는 코드 블록으로 'def' 키워드를 사용하여 정의한다.

필요한 매개변수를 받아 작업을 수행하고 결과를 반환해 낸다.

함수 정의하고 호출하기

def output(): # 함수 정의
    print("HamSu")

output() # 함수 호출

이게 제일 기본적인 함수를 정의하고 호출하는 방법이며, 이 외에도 함수를 사용하는 방법은 여러 가지가 있다.

 

  1. 기본 매개변수 (Default Parameters)
  2. 키워드 매개변수 (Keyword Arguments)
  3. 가변 매개변수 (Arbitray Arguments)
  4. 반환 값 (Retrun Value)
  5. 재귀 함수 (Recursive Function)

기본 매개변수 (Default Parameters)

함수를 호출할 때 매개변수를 제공하지 않는 상태, 기본 매개변수는 함수 정의 시 지정될 수 있다.

def output(a = 3): # 함수 정의
    print(a)

output() # 함수 호출 결과 : 3

 

키워드 매개변수 (Keyword Arguments)

함수 호출 시 매개변수에 인자를 전달할 수 있다. 전달된 인자는 함수 내에서 작동 후 결과를 반환한다.

def output(a, b): # a와 b를 매개변수로 받을 수 있는 상태로 함수 정의
    print(a+b)

output(3, 5) # a에는 3, b에는 5로 값을 줌, 결과: 8

 

가변 매개변수 (Arbitrary Arguments)

함수가 임의의 개수의 매개변수를 받을 수 있도록 한다. 매개변수 앞에 '*' 기호를 넣어 사용한다.

def output(*args): # args 매개변수를 가변 매개변수로 정의
    for colors in args:
        print(colors)

    print(args) # 매개변수는 튜플 형식으로 인자가 저장된다.

output("red", "blue", "green") # 인자의 개수를 마음대로 전달

# 결과: red blue green ('red', 'blue', 'green')

 

반환 값 (Return Value)

함수가 작업을 수행한 후에 결과를 전달하는 데 사용된다. 'return' 키워드를 사용하여 반환할 값을 지정한다.

def output(a, b): #a, b를 매개변수로 전달받아 a + b의 값을 반환
    return a + b

print(output(3, 4)) # 결과 7

 

재귀 함수 (Recursive Function)

함수 내부에서 자기 자신을 호출하는 함수이다.

def factorial(n): # n을 매개변수로 받는 함수 정의
    if n == 0: # n이 0일 때 1 반환
        return 1
    else:
        return n * factorial(n-1) #n이 0이 아니면 자기 자신을 다시 호출해서 팩토리얼 계산

print(factorial(5)) # 결과 : 120