파이썬에는 많은 내장 함수가 있다.
모든 내장 함수를 다루고 싶지만, 모든 내장 함수를 정리하는 것은 시간도 많이 필요하고 비 효율적이다.
그래서 사용 빈도가 높은 함수들만 정리하겠다.
숫자 관련 내장 함수
int() 함수
문자열 형태의 숫자나 소수점이 있는 숫자 등을 int 형태로 리턴함
int(1.23) #1
int(123) #123
int("123") #문자열도 숫자로 바꿀 수 있음
int(True) #1 0은 False, 1은 True(0 이외의 숫자는 모두 True임)
float() 함수
문자열 형태의 숫자나 소수점이 없는 숫자 등을 float형태로 리턴함
float("123") #123.0
float(10) #10.0
float(True) #1.0
float(1.123) #1.123
문자열 관련 내장 함수
str() 함수
str함수는 int, float, bool 타입을 str(string) 형태로 리턴함
str(100) #"100"
str(1.0) #"1.0"
str(True) #"True"
논리 관련 내장 함수
bool 함수는 float, int, str 타입을 bool 형태로 리턴함
True
bool(1) # True bool(123.123) #True -> 0이 외의 숫자는 모두 True임 bool("False") #True bool("0") #True / 문자열은 숫자가 아니기에
False
bool(0) #False bool(0.0) #False bool('') #False / 빈 문자열은 False bool("") #False / 빈 문자열은 False
진수 변환 내장 함수
- hex(x) : 정수 x를 16진수로 변환하여 리턴
- oct(x) : 정수 x를 8진수로 변환하여 리턴
- bin(x) : 정수 x를 2진수로 변환하여 리턴
진수와 진수 변환에 대해 모른다면 제 블로그에 정리해 놓은 자료가 있습니다.
2022.11.29 - [기타/Digital Logic] - [Digital Logic] 수의 체계
hex() 함수
정수 (int 타입)를 입력받아 16진수로 변환하여 리턴함
hex(0) #"0x0"
hex(1) #"0x1"
hex(10) #"0xa" #10은 16진수로 a임
hex(123) #"0x7b"
위의 예제에서 0x가 붙어서 나오는데 0은 진수 변환을 했다는 뜻이고, x는 16진수를 뜻합니다.
oct() 함수
정수를 입력 받아 8진수로 변환하여 리턴함
oct(0) #'0o0'
oct(1) #'0o1'
oct(10) #'0o12'
oct(123) #'0o173'
위의 예제에서 0o가 붙어서 나오는데 0은 진수 변환을 했다는 뜻이고, o는 8진수를 뜻합니다.
bin() 함수
정수를 입력받아 2진수로 변환하여 리턴
bin(0) #'0b0'
bin(1) #'0b1'
bin(10) #'0b1010'
bin(123) #'0b1111011'
위의 예제에서 0b가 붙어서 나오는데 0은 진수 변환을 했다는 뜻이고, b는 2진수를 뜻합니다.
컬렉션 타입 & iterable 자료형
컬렉션 타입의 자료형에는 순차 자료형과 비순차 자료형이 있음
순차(sequence) 자료형
- 문자열, 수치 등을 관리하기 위한 자료형으로 순서 개념이 있음
- 배열 형식의 구조로 인덱스를 이용하여 데이터에 접근
- 리스트, 튜플, 문자열 등이 있음
비순차(non-sequence) 자료형
- 문자열 수치 등을 관리하기 위한 자료형으로 순서 개념이 없음
- 인덱스를 이용한 접근 불가
- 딕셔너리, 집합(set)등이 있음
반복 가능한 객체(iterable)
- 객체의 속한 요소(member)를 하나씩 찰로 반환하는 객체
- 대표적으로 list, dict, set, str, bytes, tuple, range
컬렉션 타입 & iterable 내장 함수
list() 함수
iterable 객체를 받아 리스트로 변환한 후 리턴
list((1, 2, 3)) #[1, 2, 3]
list((1, 2, 3, 2, 1)) #[1, 2, 3, 2, 1]
set() 함수
iterable 객체를 받아 set으로 변환한 후 리턴
set((1, 2, 3)) #{1, 2, 3}
set((1, 2, 3, 2, 1)) #{1, 2, 3} -> set은 중복을 제거함
tuple()함수
iterable을 입력받아 튜플 형태로 변경하여 리턴
tuple("abc") #('a', 'b', 'c’)
tuple([1, 2, 3]) #(1, 2, 3)
tuple((1, 2, 3)) #(1, 2, 3)
range()함수
range(start, stop, step)에서 start부터 stop-1까지 step만큼 숫자를 더해가며 연속된 숫자를 생성한 후 이터러블로 만들어 리턴 -> 그냥 예제 보는 게 쉬움
range(10) #0에서 부터 9까지 1을 더함
range(0, 10) #위와 똑같은 뜻
list(range(4, 7)) #[4, 5, 6]
list(range(5, 10)) #[5, 6, 7, 8, 9]
list(range(1, 10, 2)) #[1, 3, 5, 7, 9]
list(range(0, -10, -1)) #[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
dict() 함수
매개변수 안에 있는 자료를 딕셔너리 형태로 바꾸고 리턴
dict(one=1, two=2, three=3) #{'one': 1, 'three': 3, 'two': 2}
dict([('two', 2), ('one', 1), ('three', 3)]) #{'one': 1, 'three': 3, 'two': 2}
map() 함수
map(f, iterable)은 함수와 iterable 객체를 입력받은 후 iterable의 각 요소를 입력값으로 f가 수행한 결과를 묶어서 반환
def two_times(x):
return x*2
list(map(two_times, [1, 2, 3, 4])) #[2, 4, 6 ,8]
len() 함수
입력받은 자료형의 길이 리턴
len("abc") #3
len([1, 2, 3]) #3
len({1, 2, 3}) #3
수학 관련 내장 함수
- abs(number): 숫자 number의 절댓값을 반환
- pow(number, y): 숫자 number에 y 제곱한 결과를 반환
- round(number , ndigits): 숫자 number를 ndigits 자리에서 반올림한 후 반환
- max(iterable): iterable 객체에서 최댓값을 반환
- min(iterable): iterable 객체에서 최댓값을 반환
- sum(iterable): iterable 객체의 모든 요소의 합을 반환
abs() 함수
정수, 실수 등의 숫자를 절대값을 변환하여 리턴
abs(3) #3
abs(-3) #3
abs(-1.2) #1.2
pow() 함수
pow(x, y)에서 x에 y를 제곱한 결과를 반환
pow(2, 4) #16
pow(3, 3) #27
pow(5, 2) #25
round() 함수
round(x , y)에서 숫자 x를 소수점 y 자리까지 반올림한 후 반환
round(1.6) #2
round(1.2) #1
round(1.234, 2) #1.23
round(1.678, 1) #1.7
max(), min() 함수
iterable 객체를 입력받아 최댓값(최솟값)을 반환
max([1, 2, 3]) #3
max("python") #'y' -> 알파벳도 순위가 있다 a가 제일 낮고, z가 제일 높다
max({1:3, 2:'a’}) #2 오직 key 값만 비교해서 제일 큰 값을 리턴함
min([1, 2, 3]) #1
min("python") 'h'
min({1:3, 2:'a’}) #1 -> 오직 key값만 비교
sum()함수
iterable 객체를 입력받아 모든 요소의 합을 반환
sum([1,2,3]) #6
sum((4,5,6)) #15
sum({1:3, 2:'a’}) #3 -> key값만 더함
sum({1, 2}) #3
정렬 관련 내장 함수
- reversed(seq): seq의 요소 순서를 역순으로 수정한 iterator 객체로 반환
- sorted(iterable): iterable 객체를 정렬한 후 그 결과를 리스트로 반환
- filter(f, iterable): iterable 객체의 각 요소에 f 함수를 반영한 후 True가 반환되는 요소만을 iterator 객체로 반환
reversed() 함수
sequence 객체를 입력받아 객체의 요소 순서를 역순으로 수정한 후 iterable 객체로 반환
reversed(["a", "b", "c", "d"]) #<list_reverseiterator at 0x7f278dc2cd50>
#<list_reverseiterator at 0x7f278dc2cd50> -> 이터러블 객체 자체임
#이터러블 객체 자체를 다루긴 힘드니 다른 함수를 이용하여 접근해보자
list(reversed(["a", "b", "c", "d"])) #['d', 'c', 'b', 'a']
sorted() 함수
iterable 객체를 입력받아 정렬한 후 결과를 리스트로 반환함
sorted([3, 1, 2]) #[1, 2, 3]
sorted(['a', 'c', 'b’]) #['a', 'b', 'c’]
sorted("zero") #['e', 'o', 'r', 'z’]
sorted((3, 2, 1)) #[1, 2, 3]
filter() 함수
함수(f), iterable 객체를 입력받아 각 요소에 f 함수를 반영한 후 True를 만족하는 요소만을 모아 iterable로 반환
def positive(x):
return x > 0
print(list(filter(positive, [1, -3, 2, 0, -5, 6]))) #[1,2,6]
'Python Category > Python' 카테고리의 다른 글
[Python] 파이썬 자료형 (0) | 2023.08.24 |
---|---|
[Python] 파이썬 기본적인 용어 (0) | 2023.08.23 |
[Python] 예외 처리 (2) | 2022.12.09 |
[Python] 파일 입출력 (1) | 2022.12.08 |
[Python] 모듈 (0) | 2022.12.08 |