Akashic Records

2.6 함수 본문

Python for Beginners

2.6 함수

Andrew's Akashic Records 2023. 3. 16. 15:45
728x90

함수는 별도의 이름을 가졌고, 특정 작업만 하도록 설계된 코드 블록입니다. 즉, 파이썬에서 함수는 특정 작업을 수행하는 코드 블록을 의미합니다. 함수를 사용하면 코드를 재사용 가능하게 만들고, 모듈화하여 코드의 가독성과 유지 보수성을 높일 수 있습니다.

 

1. 함수 정의: def 키워드를 사용하여 함수를 정의하며, 함수 이름과 괄호 안에 매개변수를 지정합니다.

기본 구조:

def 함수명(매개변수1, 매개변수2, ...):
    # 함수 본문 (코드 블록)
    return 반환값

 

예시 코드 1 - 간단한 함수 정의와 호출:

def greet(name):
    return f"Hello, {name}!"

message = greet("Alice")
print(message)  # 출력: Hello, Alice!

 

2. 기본값(default) 매개변수: 함수를 호출할 때 인자를 전달하지 않아도 기본값을 가지는 매개변수를 정의할 수 있습니다.

 

예시 코드 2 - 기본값 매개변수 사용:

def greet(name="World"):
    return f"Hello, {name}!"

message = greet()  # 인자를 전달하지 않음
print(message)  # 출력: Hello, World!

 

3. 키워드 인자: 함수를 호출할 때 매개변수의 이름을 지정하여 인자를 전달할 수 있습니다. 이렇게 하면 인자의 순서를 고려하지 않고 함수를 호출할 수 있습니다.

 

예시 코드 3 - 키워드 인자 사용:

def print_info(name, age, country):
    print(f"Name: {name}")
    print(f"Age: {age}")
    print(f"Country: {country}")

print_info(age=28, name="John", country="USA")

 

4. 가변 인자: 함수에 임의의 개수의 인자를 전달할 수 있습니다. 가변 인자는 매개변수 앞에 별표(*)를 붙여 정의하며, 함수 내부에서는 튜플로 처리됩니다.

 

예시 코드 4 - 가변 인자 사용:

def add_numbers(*numbers):
    total = 0
    for number in numbers:
        total += number
    return total

result = add_numbers(1, 2, 3, 4, 5)  # 임의의 개수의 인자 전달
print(result)  # 출력: 15

 

5. 람다(lambda) 함수: 이름이 없는 익명 함수를 정의할 때 사용합니다. 람다 함수는 간단한 작업에 대해 간결한 코드로 함수를 생성할 수 있습니다.

 

예시 코드 5 - 람다 함수 사용:

multiply = lambda x, y: x * y

result = multiply(3, 4)
print(result)  # 출력: 12

 

이처럼 파이썬에서 함수를 사용하면 다양한 작업을 수행할 수 있습니다. 함수를 사용하면 코드를 모듈화하여 작업을 분리할 수 있으며, 재사용성을 높여 개발 시간을 줄일 수 있습니다. 함수의 고급 기능, 예를 들어 가변 인자와 람다 함수 등을 사용하면 코드를 더욱 간결하고 유연하게 작성할 수 있습니다.

6. 지역 변수와 전역 변수: 함수 내에서 선언된 변수는 기본적으로 지역 변수로 취급되며, 해당 함수 내에서만 사용할 수 있습니다. 전역 변수는 함수 외부에서 선언되며, 프로그램 전체에서 접근할 수 있는 변수입니다.

 

예시 코드 6 - 지역 변수와 전역 변수 사용:

global_var = "I am a global variable"

def test():
    local_var = "I am a local variable"
    print(global_var)  # 전역 변수 출력
    print(local_var)   # 지역 변수 출력

test()
print(global_var)      # 전역 변수 출력
# print(local_var)     # 오류 발생: 지역 변수는 함수 외부에서 접근할 수 없음

 

7. 전역 변수의 사용 제한 및 global 키워드: 함수 내에서 전역 변수를 변경하려면 global 키워드를 사용해야 합니다. 그렇지 않으면 새로운 지역 변수가 생성됩니다.

 

예시 코드 7 - global 키워드 사용:

count = 0

def increment():
    global count
    count += 1
    print(count)

increment()  # 출력: 1
increment()  # 출력: 2

 

8. 함수의 중첩: 함수 내에서 다른 함수를 정의하거나 호출할 수 있습니다. 이를 이용하여 코드의 가독성을 높이거나 재귀적인 작업을 수행할 수 있습니다.

 

예시 코드 8 - 중첩 함수 사용:

def outer_function(x):
    def inner_function(y):
        return y * 2
    return inner_function(x) * 3

result = outer_function(4)
print(result)  # 출력: 24 (4 * 2 * 3)

이와 같이 파이썬 함수를 사용하여 코드를 구조화하고, 재사용 가능한 모듈을 만들어 작업을 효율적으로 수행할 수 있습니다. 함수는 파이썬 프로그래밍의 핵심 구성 요소이며, 다양한 문제를 해결하는 데 도움이 됩니다.

728x90

'Python for Beginners' 카테고리의 다른 글

3.1 리스트  (0) 2023.03.17
2.7 모듈과 패키지  (0) 2023.03.16
2.5 반복문  (0) 2023.03.16
2.4 조건문  (0) 2023.03.16
2.3 연산자와 표현식  (0) 2023.03.16
Comments