Python/파이썬 기초

파이썬 함수 (def) 심화

PySun 2023. 7. 27. 21:04
반응형

 

파이썬에서 변수의 범위(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()와 같은 함수와 함께 사용되어 편리하게 작업할 수 있습니다.

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

반응형