본문 바로가기
Study/Python

[기초문법] Python 주요 내장함수(Built-in 함수)

by 까망우동 2023. 2. 25.
반응형

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

 

반응형

댓글