이미지 출처: https://wikidocs.net/192339
오늘은 파이썬의 내장함수를 배워보겠습니다. Built-in-function이라고도 불리고 있습니다.
파이썬의 인터프리터가 함수를 기본값으로 가지고 있습니다. 빈번하고 항상 자주 사용되는 함수들을 미리 만들어서 가지고 있기 때문에 저희는 그걸 가져다가 잘 사용해서 원하는 프로그램을 개발할 수 있습니다. 정말 많은 내장함수 중에 저희는 정말 많이 쓰이는 것들 위주로 공부해 보겠습니다.
내장 함수 기본 실습
print(abs(-3)) >>> 3
# all(and) 안에 있는 모든 요소들이 참이어야 True가 나온다. print(all([1, 2, 0])) >>> Fasle # any(or) 함수는 하나라도 요소 안에 True가있으면 True가 있다. print(any([1,2,0])) >>> True
print(chr(67)) >>> C print(ord('C')) >>> 67
자주 사용하기 때문에 알고계시면 도움이 됩니다.
for i, name in enumerate(['abc', 'bcd', 'efg']): print(i, name) >>> 0 abc 1 bcd 2 efg
def conv_pos(x): return abs(x) > 2 # 함수를 호출하는것이 아니라 함수 자체를 넣어주면된다. print(list(filter(conv_pos, [1, -3, 2, 0, -5, 6]))) >>> <filter object at 0x0000021F24BFDBD0> # 결과값이 filter로 나오기에 형변환 해준다. >>> [-3, -5, 6]
만약 람다식을 활용하면 함수를 지정해 줄 필요 없겠죠?
print(list(filter(lambda x: abs(x) > 2,[1, -3, 2, 0, -5, 6]))) >>> [-3, -5, 6]
print(id(int(5))) >>> 140734222164904 print(id(4)) >>> 140734222164872
print(len('abcdefg')) >>> 7 print(len([1,2,3,4,5,6,7])) >>> 7
print(max([1,2,3])) >>> 3 # 알파벳을 오름차순 정렬하면 y가 가장 크다. print(max('python study')) >>> y print(min([1,2,3])) 1 print(min('pythonstudy')) >>> d
enumerate, filter 다음으로 중요한 함수입니다.
# 인자로 밭은 x값을 절대값을 계산해서 반환해주는 함수 생성 def conv_abs(x): return abs(x) # filter는 걸러주지만 map은 그냥 함수를 통과시켜서 나오는 값들 print(list(map(conv_abs, [1, -3, 2, 0, -5, 6]))) >>> [1, 3, 2, 0, 5, 6] print(list(map(lambda x : abs(x),[1, -3, 2, 0, -5, 6] ))) >>> [1, 3, 2, 0, 5, 6]
filter는 걸러주지만 map은 함수를 통과시켜서 나오는 값들을 다시 결합해서 출력해줍니다.
print(pow(2, 10)) >>> 1024
print(range(1,10,2)) >>> range(1, 10, 2) # 1부터 10까지 2개씩 건너띄어서 출력 print(list(range(1,10,2))) >>> [1, 3, 5, 7, 9] print(list(range(0,-14,-1))) >>> [0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13]
# 쉼표를 붙이고 소수점 몇번째 자리까지 남길지 숫자를 적으면 됩니다. # 2번째 자리까지 남겨야하니 3번째숫자에서 반올림 print(round(6.5781, 2)) >>> 6.58 # 두번째 인자를 넣지않으면 첫째자리에서 반올림한다. print(round(5.6)) >>> 6
# 오름차순 정렬 print(sorted([6,7,4,3,1,2])) >>> [1, 2, 3, 4, 6, 7] a = sorted([6,7,4,3,1,2]) print(a) >>> [1, 2, 3, 4, 6, 7] print(sorted(['P', 'Y', 'T', 'H', 'O', 'N'])) >>> ['H', 'N', 'O', 'P', 'T', 'Y'] # reverse = True 옵션은 내림차순으로 정렬 >>> print(sorted([6,7,4,3,1,2], reverse=True))
print(sum([6, 7, 8, 9, 10])) >>> 40 print(sum(range(1, 101)>>>>)) >>> 5050
print(type(3)) >>> <class 'int'> print(type({})) >>> <class 'dict'> print(type((3,4))) >>> <class 'tuple'> print(type([])) >>> <class 'list'>
# 묶어서 하나의 list 안에 세게의 tuple로 들어있는걸로 묶어서 반환한다. print(list(zip([10, 20, 30], [40, 50, 60]))) >>> [(10, 40), (20, 50), (30, 60)] # 짝이없는 것들은 반환하지 않는다. print(list(zip([10,20,30], [40,50]))) >>> [(10, 40), (20, 50)] # zip함수로 반환되는 list의 원소를 보고싶다. print(type(list(zip([10, 20, 30 ], [40, 50, 777]))[0])) >>> <class 'tuple'>
다양한 내장함수를 알아보았습니다. 모두 자주 쓰이는 함수들입니다. 외우려고 하지 말고 자연스럽게 익히는 게 좋습니다.