Python Category/Python

[Python] 내장 함수

ReBugs 2022. 12. 9.

파이썬에는 많은 내장 함수가 있다.

모든 내장 함수를 다루고 싶지만, 모든 내장 함수를 정리하는 것은 시간도 많이 필요하고 비 효율적이다.

그래서 사용 빈도가 높은 함수들만 정리하겠다.

 

숫자 관련 내장 함수

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] 수의 체계

 

[Digital Logic] 수의 체계

[진수] [10진수] 기수가 10인 수 0, 1, 2 ,3, 4, 5, 6 ,7, 8, 9 -> 10개 수로 표현 [2진수] 기수가 2인 수 0, 1 두개의 수로 표현 [8진수와 16진수] [8진수] 0~7까지 8개의 수로 표현 2진수 3자리는 8진수 1자리 2진수

rebugs.tistory.com


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

댓글