반응형
Python 인터프리터에서 바로 사용할 수 있는 함수들로, 파이썬 설치시 기본적으로 포함되어 있는 함수들이다.
가장 대표적인 함수로는 print() 가 있겠다. 몇가지 주요 내장 함수에 대해서 아래 정리해 보았다. Python 의 함수에는 내장함수 외에 외장함수 와 사용자정의함수 가 있는데, 이는 후속 포스팅에서 다루도록 하겠다.
주요 내장함수
- '사용방법' 의 () 안 parameter 정의
- [ ]: 선택적 입력, con: container&range, it: iterable, obj: 객체, si: sequence iterable, st: string, func: 메서드
- 상세 설명이 필요한 내용은 표 아래 부연설명 해두었음
No. | 함수 | 사용방법 | 설명 |
1 | abs | abs(x) | 절대값 반환 |
2 | count | si.count(x) | s가 가지고 있는 x의 총 개수 반환 (s 용 메서드기때문에 set은 못쓴다) |
3 | divmod | divmod(a,b) | a//b , a%b 결과를 튜플로 반환. print(divmod(10,3)) = (3,1) print(*divmod(10,3)) = 3,1 #divmod 결과가 tuple이기에 unpack가능 |
4 | eval exec |
eval(st) exec(st) |
문자열화 되어있는 수식을 계산 (eval) , 문장을 수행 (exec) *아래 상세설명 |
5 | find | st.find(x) | st 문자열에 있는 x 의 인덱스 번호 찾음. Index 함수와 차이점은 st 대상으로 쓴다는 것과, index 는 없는 값은 ERROR 반환하는데 find 는 -1 반환 |
6 | hex oct bin |
hex(x) oct(x) bin(x) |
각각 x에 해당하는 16/8/2 진수 문자열로 변환 print(bin(100)) = 0b1100100 print(0b1100100) = 100 |
7 | index | si.index (x [,m [,n]]) |
m 부터 n 직전사이의 첫번째 x 의 인덱스 번호 |
8 | len | len(con) | con 의 item 개수 반환 |
9 | lower | st.lower() | st 문자열 소문자 전환 (반대는 upper) |
10 | min max |
min(…[,key,default]) max(...[,key,default]) |
여러값들 혹은 iterable 아이템 중 가장 큰/작은 값 반환 key: 대소비교 기준 판별을 위한 함수 default: 빈 iterable 일때 ValueError 대신 반환할 값 지정 |
11 | pow | pow(v,e[,m]) | v 의 e 지수승 값을 반환, m이 있으면 결과를 %m한 결과 반환 |
12 | replace | st.replace(x,y) | st 문자열에 있는 x 를 y 로 전환 |
13 | round | round(x[,d]) | d 자리수에 따라 반올림 print(round(1234.567,-2)) = 1200.0 print(round(1234.567)) = 1200 # 자리수 지정을 생략하면 int가됨 |
14 | sorted | sorted(it [,key,reverse]) | it 의 item 들을 오름차순 정렬한것을 list로 반환. reverse 는 내림차순. key에는 정렬 대상을 지정하기 위한 함수를 전달 sorted(it, reverse=True) # 내림차순 sorted(it, key=abs) # 절대값 적용 |
15 | sum | sum(it [,start]) | it 의 item 들의 합 반환, start 는 합산 초기값 |
아래는 iterator type 내장함수 | |||
16 | enumerate | enumerate(it [,start]) | it 입력받아 인덱스 값을 포함하는 eumerate객체 반환.주로 for문에서 사용 start 옵션을 사용하면 시작하는 인덱스값 반환 for i,name in enumerate(['a','b','c'], start=1): print(i,name) # 1 a 2 b 3 c |
17 | filter | filter(func,it) | it과 함수를 입력받아 조건에 맞는 input 값을 반환한다. 반환값이 filter obj 이기떄문에 list 등으로 타입전환해서 확인가능 print(list(filter(lambda x: abs(x)>2 , [1,3,2,-2,6]))) # 3,6 |
18 | map | map(func,it) | it 과 함수를 입력받아 함수가 적용된 it 를 map obj 으로 반환한다. print(list(map(lambda x: abs(x)>2, [1,3,2,-2,6]))) # [False, True, False, False, True] |
19 | zip | zip(*it) | 두개 이상의 it객체를 가져와 iterable 의 동일 인덱스의 item 들을 튜플쌍으로 반환. 반환값이 iterator(zip obj) 기 때문에 모든 튜플쌍으로 보려면 list 등 사용. It 간에 length 가 다른경우에는 가장 짧은 it 기준으로 zip 처리함 list1 = [1, 2, 3] list2 = ['a', 'b', 'c'] zipped = zip(list1, list2) print(list(zipped)) # 출력: [(1, 'a'), (2, 'b'), (3, 'c')] |
4. eval(), exec()
eval 은 문자열로 주어진 '식'(expression) 의 결과를 반환한다.
exec 은 문자열로 주어진 '문'(statement) 을 실행한다. 반환값이 없다.
'식'(expression)은 계산식,함수식 등 return이 있다. ex) a+1, print(a), max(1,2,3)
'문'(statement)은 return이 없다 ex) a=3, if a=b : a+=1
print(eval('1+2')) # 3
a=3
print(eval('a==3')) #True a==3 은 식이다.
print(eval('a=4')) #invalid syntax a=4 는 문이다.
exec('a=4') # a=4 대입을 실행시킨다.
print(a) # 4
print(eval('if a>3 : print(a)')) # invalid syntax 반환할게 없음
exec('if a>3 : print(a)') # 4
반응형
'Study > Python' 카테고리의 다른 글
[기초문법] 사용자 정의 함수 , lambda 함수 (1) | 2023.02.28 |
---|---|
[기초문법] Class, Object(Instance), Method 이해 (1) | 2023.02.27 |
[기초문법] Iterable 과 Conatainer(리스트,튜블,집합,딕셔너리) (1) | 2023.02.23 |
[기초문법] 입력함수(Input) & split/map 함수 (1) | 2023.02.23 |
[기초문법] 자료형,연산자,출력 (1) | 2023.02.22 |
댓글