파이썬 내용 보충 - 밑바닥부터 시작하는 데이터 과학 中
※본 포스팅은 "밑바닥부터 시작하는 데이터 과학"을 공부하면서 Python2로 작성된 샘플 코드를 Python3으로 변환할 때 발생하는 에러 혹은 수정 내용 등 또는 필용한 내용을 정리하기 위해 작성되었습니다.
일급 함수(first-class)
일급 함수(first-class)는 객체 지향 프로그래밍(object-oriented programming) 중에서 파이썬을 포함한 몇몇 프로그래밍 언어에서 발견할 수 있는 개념이다. 아래는 이를 잘 드러내는 파이썬의 철학이다.
'모든 것은 객체(object)다'
객체는 숫자, 문자열, 튜플, 리스트, 딕셔너리, 그리고 함수를 포함한다. 함수는 그 중에서도 일급 시민(first-class citizen)이다. 이 뜻은 다음과 같다
- 함수를 변수에 할당 가능
- 다른 함수에서 해당 함수를 인자로 전달 가능
- 함수에서 함수를 반환 가능
우리는 변수(variable)를 쉽게 객체라고 생각한다. 하지만 함수(function)도, 클래스(class) 등도 객체가 될 수 있다고는 생각하지 못한다. 파이썬의 다른 기타 자료구조를 포함한 모든 것은 객체이기 때문에 무엇이든 함수의 인자로(argument) 전달 가능하다.
1 2 3 4 5 6 7 | def apply_one(f): ''' argument가 숫자 1인 함수 f를 반환한다 ''' return f(1) def triple(x): return x*3 result = apply_one(triple) #결과는 3 | cs |
함수를 다른 다른 자료구조(리스트, 튜플, 셋, 딕셔너리)의 요소로도 사용할 수 있다
'Data Science > 파이썬으로 데이터분석 하기' 카테고리의 다른 글
파이썬으로 데이터 분석하자 (5) - Matplotlib 기본 (2) | 2017.12.08 |
---|---|
파이썬으로 데이터분석하자 (4) - Pandas 기본 (7) | 2017.12.06 |
파이썬으로 데이터 분석하자 (3) - NumPy 기본 (4) | 2017.10.09 |
Python 기초 - NumPy Broadcasting 이해하기 (2) (1) | 2017.10.09 |
Python 기초 - NumPy로 선형대수 표현하기 (1) (2) | 2017.10.09 |
파이썬으로 데이터 분석하자 (2) - IPython 사용하기 (1) | 2017.09.27 |
파이썬으로 데이터 분석하자 (1) (1) | 2017.09.19 |
댓글