파이썬 내장함수

윤태영·2023년 11월 22일
0
post-thumbnail

이미지 출처: https://wikidocs.net/192339

오늘은 파이썬의 내장함수를 배워보겠습니다. Built-in-function이라고도 불리고 있습니다.
파이썬의 인터프리터가 함수를 기본값으로 가지고 있습니다. 빈번하고 항상 자주 사용되는 함수들을 미리 만들어서 가지고 있기 때문에 저희는 그걸 가져다가 잘 사용해서 원하는 프로그램을 개발할 수 있습니다. 정말 많은 내장함수 중에 저희는 정말 많이 쓰이는 것들 위주로 공부해 보겠습니다.

내장 함수 기본 실습

  • 내장 함수 종류
  • 중요한 내장 함수
  • 각 함수 예제 실습
  • filter
  • filter, map, zip
  • 자주 사용하면 자연스럽게 숙달
  • str(), int(),tuple() 형변환 이미 학습

abs() 📕

  • 절대값
  • 내장함수이기에 import를 쓰지 않아도 바로 사용 가능, 이미 인터프리터가 내장하고 있기에
    print(abs(-3))
print(abs(-3))
>>> 3

all , any: iterable 요소 검사(참, 거짓) 📕

  • 절대값
  • 내장함수이기에 import를 쓰지 않아도 바로 사용 가능, 이미 인터프리터가 내장하고 있기에
    print(abs(-3))
# all(and) 안에 있는 모든 요소들이 참이어야 True가 나온다.
print(all([1, 2, 0])) 
>>> Fasle
# any(or) 함수는 하나라도 요소 안에 True가있으면 True가 있다.
print(any([1,2,0])) 
>>> True

chr, ord 📕

  • chr : 아스키 - > 문자
  • ord : 문자 -> 아스키
print(chr(67))
>>> C
print(ord('C'))
>>> 67

enumerate 📕

  • 인덱스 + Iterable 객체 생성
  • Iterable하다는 것은 반복가능한 list나 dictionary, set, tuple

자주 사용하기 때문에 알고계시면 도움이 됩니다.

for i, name in enumerate(['abc', 'bcd', 'efg']):
    print(i, name)
>>>
0 abc
1 bcd
2 efg

filter 📕

  • 반복가능한 객체 요소를 지정한 함수 조건에 맞는 값 추출, 조건에 맞는 것들이나, 맞지 않는 것들을 걸러가져온다.
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]

id 📕

  • 객체의 주소값(레퍼런스) 반환
  • 주소가 다르면 객체가 다른것
print(id(int(5)))
>>> 140734222164904
print(id(4))
>>> 140734222164872

len 📕

  • 요소의 길이 반환
print(len('abcdefg'))
>>> 7
print(len([1,2,3,4,5,6,7]))
>>> 7

max, min 📕

  • 최대값, 최소값 출력
  • () 안에 iterable 한 것을 넣어 준다.
print(max([1,2,3]))
>>> 3
# 알파벳을 오름차순 정렬하면 y가 가장 크다.
print(max('python study'))
>>> y
print(min([1,2,3]))
1
print(min('pythonstudy'))
>>> d

map 📕

  • 반복가능한 객체 요소를 지정한 함수 실행 후 추출해서 결과로 출력
  • filter는 지정한 함수의 결과값이 True or False인지를 따져서 True만 필터링

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은 함수를 통과시켜서 나오는 값들을 다시 결합해서 출력해줍니다.

pow 📕

  • 제곱값 반환
print(pow(2, 10))
>>> 1024

range 📕

  • 반복가능한 객체(Iterable) 반환, enumerate 함수와 같이 많이사용
  • for문에서 정말 많이 사용
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]

round 📕

  • 반올림
  • 코딩 문제를 풀 때도 가끔 나오는 것 같습니다((개인적으로..🙄)
# 쉼표를 붙이고 소수점 몇번째 자리까지 남길지 숫자를 적으면 됩니다. 
# 2번째 자리까지 남겨야하니 3번째숫자에서 반올림
print(round(6.5781, 2))
>>> 6.58
# 두번째 인자를 넣지않으면 첫째자리에서 반올림한다.
print(round(5.6))
>>> 6

sorted 📕

  • 반복가능한 객체(Iterable) 정렬 후 반환
# 오름차순 정렬
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)) 

sum 📕

  • 반복가능한 객체(Iterable) 합 반환
print(sum([6, 7, 8, 9, 10]))
>>> 40
print(sum(range(1, 101)>>>>))
>>> 5050

type 📕

  • 자료형 확인
print(type(3))
>>> <class 'int'>
print(type({}))
>>> <class 'dict'>
print(type((3,4)))
>>> <class 'tuple'>
print(type([]))
>>> <class 'list'>

zip 📕

  • 반복가능한 객체(Iterable)의 요소를 묶어서 반환
# 묶어서 하나의 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'>

다양한 내장함수를 알아보았습니다. 모두 자주 쓰이는 함수들입니다. 외우려고 하지 말고 자연스럽게 익히는 게 좋습니다.

출처 : 인프런

profile
ice blue

0개의 댓글