본문 바로가기
Python/파이썬 기초

파이썬 함수 (def) 심화

by PySun 2023. 7. 27.
반응형

 

파이썬에서 변수의 범위(scope)와 함수 안의 함수, 그리고 람다 함수에 대해 설명하고 예시 코드를 제공하겠습니다.

1. 지역변수(Local Variables)와 전역변수(Global Variables):

  • 지역변수: 함수 내부에서 선언된 변수로, 함수가 호출될 때 생성되고 함수가 종료되면 소멸합니다. 함수 외부에서는 해당 변수에 접근할 수 없습니다.
  • 전역변수: 함수 외부에서 선언된 변수로, 프로그램 전체에서 접근 가능합니다. 함수 내부에서 전역 변수를 사용할 수 있지만, 수정하려면 global 키워드를 사용해야 합니다.
# 전역변수 선언
global_var = 10

def example_function():
    # 지역변수 선언
    local_var = 5
    print("지역변수 local_var:", local_var)
    print("전역변수 global_var (함수 내부에서 사용 가능):", global_var)

# 함수 호출
example_function()
print("전역변수 global_var (함수 외부에서 사용 가능):", global_var)

2. 함수 안의 함수 (Nested Functions):

  • 파이썬에서 함수 안에서 또 다른 함수를 정의할 수 있습니다. 이러한 함수를 중첩 함수 또는 내부 함수라고 합니다.
def outer_function(x):
    def inner_function(y):
        return x + y
    return inner_function

# 함수 안의 함수 호출
result = outer_function(10)
print(result(5))  # 출력: 15

3. 람다 함수 (Lambda Functions):

  • 람다 함수는 익명 함수로, 한 줄로 간단한 함수를 정의하는데 사용됩니다. lambda 키워드를 사용하여 생성하며, 이름이 없는 간단한 함수를 만들 때 주로 사용합니다.
# 람다 함수로 두 수를 더하는 함수 정의
add_numbers = lambda x, y: x + y

# 람다 함수 호출
result = add_numbers(3, 5)
print(result)  # 출력: 8
  • 람다 함수는 간단한 함수를 간결하게 표현할 때 유용합니다. 주로 map(), filter(), sorted()와 같은 함수와 함께 사용되어 편리하게 작업할 수 있습니다.

이러한 개념들을 이해하고 잘 활용하면 파이썬에서 더욱 간결하고 효율적인 코드를 작성할 수 있습니다. 함수와 변수의 범위를 제대로 이해하고, 중첩 함수와 람다 함수를 활용하는 능력은 파이썬 프로그래밍의 중요한 부분입니다. 이를 통해 코드의 가독성과 유지보수성을 향상시키고, 작업을 더욱 효율적으로 수행할 수 있습니다.
 

반응형