Search

Python 04. Python Function - Scope, inner function, lambda function

Created at
2018/07/11
Updated at
2021/01/21
Tags
Keywords
3 more properties
목차

1. 변수의 범위(Scoping Rule)

변수가 사용되는 범위
global variable: 프로그램 전체에서 사용
local variable: 함수 내에서만 사용

1.1 global variable

전역변수는 함수 내에서 사용이 가능함
but, 함수 내에 전역 변수와 같은 이름의 변수를 선언하면 새로운 지역 변수가 생김
gv = 10 def print_gv(): print(gv) print_gv()
Python
복사
10

1.2 local variable

1.3 local 영역에서 global 변수의 변경

2. Inner function

global: 전역변수, 전역함수 / local: 지역변수, 지역함수
전역함수 내에 지역함수를 선언할 수 있음 (inner function)
local 영역에 함수를 숨겨서 global영역에서 사용할 수 없도록 함
local 영역에 함수를 선언하면 함수가 실행될 때 메모리상에 올라가서 실행되기 때문에 메모리 절약
global 영역에 선언하면 그 함수가 계속 메모리에 올라간 상태(상주)로 실행이 되는 것 (호출이 되지 않더라도)
decorator에 inner function 이해가 필수적

3. lambda function

함수의 이름 없이, 간단한 파라미터를 받아서 리턴해주는 함수를 만들어 줌
python3부터는 권장하지는 않으나 여전히 많이 쓰임
문법: lambda <parameters> : <return_value>

3.1 General function과 lambda function의 차이

Lambda function을 쓰면 더 간결하게 함수 정의가 가능함

3.2 Lambda function 예시

계산기 기능을 함수로 구현하는 예시로 lambda function의 활용도를 살펴보자
위 내용 전체를 jupyter notebook으로 보기
참고자료
패스트캠퍼스, ⟪데이터사이언스스쿨 8기⟫ 수업자료
인프런, ⟪프로그래밍, 데이터 과학을 위한 파이썬 입문⟫ 수업 자료