본문 바로가기
Python

Python - Built in functions

by DGK 2021. 10. 18.

 

인프런 파이썬 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.

 

Built in functions

 

  • 기본 개념
# 내장함수 예시

# abs() 함수

print(abs(-3))		# 결과 : 3

# 절대값을 구해주는 함수이다.



# all() 함수

print(all([1, 2, 3]))   # 결과 : True
print(all([1, 2, '']))  # 결과 : False
print(all([1, 2, 0]))   # 결과 : False

# iterable(리스트, 튜플, 집합, 딕셔너리 등)의 요소를 검사하는 함수이다.
# 즉, all( ) 함수의 모든 요소가 True 값을 가지면, True를 출력하고
# 요소 중에 하나라도 False 값을 가지면, False를 출력한다.(and 조건과 동일한 원리)

# 0이 아닌 숫자와 문자열은 True 값을, 0과 빈 문자열은 False값을 가지기 때문에,
# 위와 같은 결과가 도출되는 것이다.



# any() 함수

print(any([1, 2, 3]))    # 결과 : True
print(any([1, 2, 0]))    # 결과 : True
print(any([1, 2, '']))   # 결과 : True

# iterable(리스트, 튜플, 집합, 딕셔너리 등)의 요소를 검사하는 함수이다.
# 즉, any( ) 함수의 요소 중에 적어도 하나가 True 값을 가지면, True를 출력하고
# 모든 요소가 False 값을 가지면, False를 결과 값으로 출력한다.(or 조건과 동일한 원리)



# chr() 함수 

print(chr(44))  # 결과 : ,
print(chr(67))  # 결과 : C

# 아스키 코드를 문자열로 반환해주는 함수이다.



# ord() 함수

print(ord(',')) # 결과 : 44
print(ord('C')) # 결과 : 67

# 문자열을 아스키코드로 반환해주는 함수이다.



# enumerate() 함수 

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

# Iterable 객체를 인덱스 번호와 함께 생성해주는 함수이다.
# 위의 예시처럼 for문에서 enumerate( ) 함수를 사용하면 Iterable 요소와
# 인덱스 번호를 함께 반환해준다.



# filter() 함수 

def conv_pos(x):
    return abs(x) > 2

print(list(filter(conv_pos, [1, -3, 2, 0, -5, 6])))

# 결과 : [-3, -5, 6]

print(list(filter(lambda x: abs(x) > 2, [1, -3, 2, 0, -5, 6])))

# 결과 : [-3, -5, 6]
# 람다식을 사용해도 동일한 결과가 도출된다.

# 지정한 함수의 조건에 맞는 Iterable 객체의 요소만을 추출하는 함수이다.
# 즉, 조건에 맞는 객체의 요소는 True값을 가지며, filter( ) 함수는 True값을
# 가지는 요소만을 반환해준다.



# id() 함수 

print(id(int(5)))	# 결과 : 4334174576
print(id(4))		# 결과 : 4334174544

# 객체의 주소값(고유값)을 반환하는 함수이다.
# 4와 5는 전혀 다른 숫자이기 때문에, id값도 다르다.



# len() 함수 

print(len('abcdefg'))               # 결과 : 7
print(len([1,2,3,4,5,6,7,8]))       # 결과 : 8

# 요소(데이터)의 길이를 반환해주는 함수이다.



# max() 함수, min() 함수

print(max([1,2,3]))

# 결과 : 3

print(max('python study'))

# 결과 : y
# 문자열을 넣으면 오름차순으로 정렬했을 때, 문자의 순서가 가장 큰 문자를 반환해준다.

print(min([1,2,3]))

# 결과 : 1

print(min('python study'))

# 결과 : 공백이 출력됨
# 만약 공백이 존재하면 공백이 문자의 순서상 가장 작은 문자가 된다.

print(min('pythonstudy'))

# 결과 : d
# 위의 예시와 동일한 원리이다.(공백 존재X)

# max() 함수와 min() 함수는 최대값과 최소값을 반환해주는 함수이다.



# map() 함수 

def conv_pos(x):
    return abs(x)

print(list(map(conv_pos, [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]]
# 람다식으로 동일한 기능을 구현할 수 있다.

# 반복가능한 반복가능한(Iterable) 객체의 요소를 지정한 함수의 조건에 맞게 돌린 후,
# 결과 값을 반환해주는 함수이다.



# pow() 함수 

print(pow(2,10))

# 결과 : 1024(2의 10승)

# 제곱값을 반환해주는 함수이다.



# range() 함수

print(list(range(1, 10, 2)))        

# 결과 : [1, 3, 5, 7, 9]
# 1부터 9까지 한 칸씩 건너뛰면서 요소를 가져온 것이다.

print(list(range(0, -15, -1)))      

# 결과 :
# [0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14]
# 0부터 -14까지 -1씩 감소하며 요소를 가져온 것이다.

# 반복가능한 객체의 요소를 범위에 맞게 반환해주는 함수이다.
# range( ) 함수는 반드시 형 변환을 해야만, 위와 같은 결과 값을 출력한다.



# round() 함수

print(round(6.5352, 2))

# 결과 : 6.54
# round( ) 함수의 두 번째 인자는 반올림하여 소수점 몇 번째 자리까지 
# 반환할 것인지를 의미한다.
# 즉, 두 번째 인자 '2'는 소수점 이하 세번째 자리에서 반올림하여 
# 두번째 자리까지 반환한다.

print(round(5.6))

# 결과 : 6

print(round(5.4))

# 결과 : 5
# 두번째 인자를 넣지 않으면, 소수점 이하 첫번째 자리에서 반올림을 한다.

# 반올림을 해주는 함수이다.



# sorted() 함수 

print(sorted([6, 7, 4, 3, 1, 2,]))

# 결과 : [1, 2, 3, 4, 6, 7]
# 반복가능한 객체의 요소를 오름차순으로 정렬시킨 것이다.

a = sorted([5, 4, 2, 6, 10, 23, 44]) 

print(a)

# 결과 : [2, 4, 5, 6, 10, 23, 44]
# 반복가능한 객체의 요소를 오름차순으로 정렬한 후에 반환한 것이다.

print(sorted(['p','y','t','h','o','n']))

# 결과 : ['h', 'n', 'o', 'p', 't', 'y']
# 반복가능한 객체의 요소가 문자열인 경우에도 오름차순으로 정렬한 후에 반환한다.

# 반복가능한 객체(튜플, 리스트, 집합, 딕셔너리)의 요소를 정렬하고 반환해주는 함수이다.



# sum() 함수 

print(sum([6,7,8,9,10]))	# 결과 : 40
print(sum(range(1,101)))	# 결과 : 5050(1~100까지의 합)

# 반복가능한 객체의 요소를 더해주는 함수이다.



# type() 함수 

print(type(3))      # 결과 : <class 'int'>
print(type({}))     # 결과 : <class 'dict'>
print(type({1,2}))  # 결과 : <class 'set'>
print(type([]))     # 결과 : <class 'list'>
print(type(()))     # 결과 : <class 'tuple'>

# 자료형을 확인해주는 함수이다.
# {} 안에 키없이 벨류만 존재하면 집합 자료형이다.



# zip() 함수

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)]
# 만약, 요소 간의 짝이 맞지 않다면 짝이 맞는 요소들만 튜플로 묶어서 반환한다.

# 반복가능한 객체의 요소를 튜플로 묶어서 반환해주는 함수이다.(결과 값에 형 변환은 필수)

 

'Python' 카테고리의 다른 글

Python - File Write  (0) 2021.10.20
Python - External functions  (0) 2021.10.18
Python - Exception  (0) 2021.10.18
Python - package  (0) 2021.10.18
Python - module  (0) 2021.10.18

댓글