안녕하세요.
캡틴카푸치노입니다.
오늘의 주제는 '함수'입니다.
함수를 이해하는데 어쩌면 가장 중요한 부분인 함수의 범위에 대해 설명하겠습니다.
그 전에 변수의 범위에 대해 우선 알아야합니다.
Variable Scope (변수의 종류)
1. local variable (지역 변수)
- 특정 코드 블록에서 선언된 변수 (함수의 인자와 관련)
- 생명주기 : 자신이 속한 코드 블록이 종료되면 소멸됨 (stack이라는 곳에 존재했다가 사라짐)
2. global variable (전역 변수)
- 함수와 관련없이 프로그램 종료 전까지 유지되는 변수
* 전역 변수와 같은 이름의 지역 변수가 함수 내에서 존재한다? 지역 변수의 우선순위가 더 높음!
ex)
num1 = 10, num2= 30 (전역 변수)
def function(num1, num2) : (지역 변수)
print(num1, num2)
function(40,50) 으로 함수 호출하게 되면, 40과 50이 찍힘
Variable length argument (가변길이 파라미터)
print 함수처럼 전달되는 파라미터의 개수가 유동적일 때(고정적이지 않은), 어떻게 함수를 구성해야 할까?
파라미터 앞에 *를 붙여주면 된다!!!
* 가변길이 인자를 tuple로 인식한다.
ex) 보통 가변길이 파라미터를 args(arguments)로 conventional하게 사용됨.
def test(*args):
for item in args:
print(type(item))
파라미터 앞에 **를 붙여주면 된다!
* 인자를 dict로 인식한다.
ex) 보통 키워드 파라미터를 kwargs로 conventional하게 사용됨.
lambda 함수
- 한 줄로 표현되는 단일문 함수 (1회성)
- 형식 : lambda 입력 값 : return(출력) 값
- add = lambda x,y : x+y
add(4,6)
- 유용한 경우 : 함수 안에 함수를 쓸 경우
- 형식 : filter(함수, 리스트)
리스트안의 각 원소마다 함수를 적용하여 True로 반환되는 부분을 반환 (Boolean 형태로 들어가야함)
2. map 함수
- 형식 : map(함수, 리스트)
리스트안의 각 원소마다 mapping
3. reduce 함수
- 형식 : functools.reduce(함수, 리스트)
리스트안의 각 원소를 차례로 2개씩 함수 적용하고 나온 값과 새로운 값을 또 연산..
패스트캠퍼스 '캐글 1위와 풀어보는 머신러닝 입문 트레이닝 Global Expert.' 수강 후기 (0) | 2024.12.11 |
---|---|
[실력 있는 데이터 사이언티스트를 향해] (0) | 2022.02.28 |
[Python] Web Crawling (0) | 2021.02.07 |