함수
관련내용
- 함수의 정의
- 전역변수와 지역변수
- 함수: 인수의 전달
- 가변인수
- 발생자(generator)
- 주요한 내장함수들
- 재귀함수(Recursive Function)
- 람다함수(Lambda Function)
- Python의 함수는 1급(First Class)객체
- 1급 객체와 변수의 영역
- 클로저(Closure)
- 데코레이터(Decorator, 장식자)
주요한 내장함수들(Built-in Functions)
- 함수의 정의
- 전역변수와 지역변수
- 함수: 인수의 전달
- 가변인수
- 발생자(generator)
- 주요한 내장함수들
- 재귀함수(Recursive Function)
- 람다함수(Lambda Function)
- Python의 함수는 1급(First Class)객체
- 1급 객체와 변수의 영역
- 클로저(Closure)
- 데코레이터(Decorator, 장식자)
주요한 내장함수들(Built-in Functions)
표 1은 자주 사용되는 내장함수들을 나타낸 것입니다.
함수 | 내 용 |
---|---|
all() | 모든 요소들이 참이면 True 0을 제외한 모든 수 True, empty일 경우도 True |
any() | 참인 요소가 1개라도 존재하면 True empty일 경우도 False |
enumerate() | 객체의 인덱스와 값을 튜플 형식으로 반환. set은 순서가 없는 자료형으로 디스플레이 된 순서대로 반환 |
len() | 객체의 크기 (원소수) 반환 |
max(), min() | 객체의 최대값과 최소값을 반환 |
sorted(x, key, reverse=False) | 객체를 올림차순으로 정렬 reverse=True이면 내림차순 key는 정렬의 기준을 설정 (람다 함수를 사용할 수 있음) |
sum() | 객체내의 모든 원소의 합 |
filter(조건 또는 함수, 객체) | 객체에 함수를 적용하여 함수에 부합하는 부분만을 추출 |
x={1,2,3} print(f'모든 요소가 True이므로 {all(x)}')
모든 요소가 True이므로 True
y=[0, False] print(f'모든 요소가 False이므로 {any(y)}')
모든 요소가 False이므로 False
print(f'all은 empty일 경우 {all([])}, any는 empty일 경우 {any([])}')
all은 empty일 경우 True, any는 empty일 경우 False
list(enumerate(x))
[(0, 1), (1, 2), (2, 3)]
for i, j in enumerate(y): print(f'요소의 인덱스{i}, 값:{j}')
요소의 인덱스0, 값:0 요소의 인덱스1, 값:False
A=[2,1,9, 4, 3] print(f'최소값: {min(A)}, 최대값: {max(A)}')
최소값: 1, 최대값: 9
B=sorted(A); B
[1, 2, 3, 4, 9]
C=sorted(A, reverse=True); C
[9, 4, 3, 2, 1]
print(f'A의 총합: {sum(A)}')
A의 총합: 19
다음 객체 a는 [0, 9]사이의 정수들을 요소로 갖습니다. 함수 cond()는 인수 x가 짝수 그리고 홀수를 결정하여 각각 True와 False를 반환합니다. 이 함수에 객체 a의 각 요소를 인수로 전달하기 위해 filter()
함수를 적용하며 True에 대응하는 값을 반환합니다.
a=range(10) def cond(x): return(x%2==0) list(filter(cond, a))
[0, 2, 4, 6, 8]
위 filter()
의 결과는 list()
함수를 사용하여 리스트 형으로 변환하였습니다. 이것은 filter()함수의 결과는 이터레이터로서 게으른 평가가 이루어지기 때문입니다. 즉, 이 결과 객체는 내장 메소드 __iter__()와 __next__() 을 포함합니다.
y=filter(cond, a) "__iter__" in dir(y)
True
"__next__" in dir(y)
True
댓글
댓글 쓰기