본문 바로가기

Programming languages/Python

12. Built-in-function

728x90
반응형

여러분은 빌트인이라는 말을 들어본 적이 있을 것이다.

보통 신축 아파트로 입주하게 되면 빌트인이라는 말을 듣게 될 것이다.

아파트가 지어질 때 기본적으로 시공되어 있는 옷장, 책상, 세탁기, 오븐 등등이다.

이처럼 파이썬에도 다양한 내장 함수들이 존재한다.

누군가 이미 만들어 놓았고 수많은 사람들이 오랜 기간 써왔기 때문에 검증도 되어있는 것들이다.

이러한 내장 함수들은 별도로 외부 모듈을 import 할 필요 없이 바로 사용이 가능하다.

 

#abs는 절댓값을 반환한다.
print(abs(3)) #절댓값
print(abs(-3)) #절댓값

#all은 반복가능한(for문으로 값 출력이 가능한경우) 자료형을 입력인수로 받고 이를 참,거짓을 판단하고 반환한다.
print(all([1,2,3])) #리스트 자료형의 모든값이 참이므로 True
print(all([1,2,3,0])) #리스트의 자료형에 0이 존재 하므로 False

#any는 반복가능한 자료형을 입력인수로 받고 하나라도 참이면 True, 모두 거짓이면 False를 반환한다.
print(any([1,0])) #참이 하나라도 존재하므로 True
print(any([0,""])) #모두 거짓이므로 False

#chr은 유니코드값을 입력받아서 문자로 출력
print(chr(94)) #^를 출력
print(chr(87)) #W를 의미

#dir은 객체가 자체적으로 가지고 있는 변수나 함수를 보여준다.
print(dir([1,2,3])) #리스트는 append, count, extend... 등을 가지고 있다.
print(dir({1:'a'})) #딕셔너리는 clear, copy, get, has_key, items.. 등을 가지고 있다.

#divmod는 나눗셈의 몫과 나머지를 튜플형태로 반환 해준다.
print(divmod(7,3))

#enumerate는 순서가 있는 자료형을 입력받아 인덱스를 포함하는 객체를 돌려준다.
for i, name in enumerate(['body', 'foo', 'bar']):
    print(i, name)

#eval은 실행 가능한 문자열을 입력받아 결과값을 돌려준다. 보통 함수나 클래스를 동적으로 실행하기 위해서 사용
print(eval('1+2'))
print(eval('divmod(9,6)'))

#filter는 함수이름과 인수를 받아 조건에 맞게 걸러준다.
def positve(x):
    return x>0
print(list(filter(positve, [1,-3,2,0,-5,6])))

#hex는 정수값을 16진수로 바꿔준다.
print(hex(234))

#id는 객체의 고유주소값(레퍼런스)를 반환해준다.
a=3
b=5
c=3
print(id(a)) #c와 같다.
print(id(b))
print(id(c)) #a와 같다.

#input은 사용자의 입력을 받는 함수이다
x=input() #입력
print(x) #출력

#int(), float() 등으로 형변환이 가능하다.
print(int('3'))

#isinstance()는 첫번째로 인스턴스 두번째로 클래스 이름을 받는다.
#입력받은 인스턴스가 해당 클래스의 인스턴스에 해당하는지 참거짓으로 판단한다.
class Person:pass
a=Person()
print(isinstance(a, Person)) #True
print(isinstance(b,Person)) #False

#len()은 입력값 s의 길이(요소 전체 개수)를 돌려주는 함수이다.
print(len("Python")) #6글자
print(len([1,2,3])) #요소 3개짜리 리스트
print(len((1,'a'))) #요소 2개짜리 튜플

#list()는 반복가능한 자료형 을 입력받아 리스트로 만들어 돌려준다. 즉 리스트식 형변환
print(list("python")) #문자'열'을 리스트로
print(list([1,2,3])) #리스트를 리스트로
print(list((1,2,3,4))) #튜플을 리스트로
a = [5,6,7,8]
b = list(a) #b = a 이것과 동일하다.
print(type(b)) #type은 자료형을 알려주는 함수이다.

#map()은 함수와 반복가능한 자료형을 받고 해당 자료형을 묶어서 대입하고 묶어서 출력한다.
def two_times(x):
    return x*2
print(list(map(two_times, [1,2,3,4]))) #1,2,3,4를 묶어서 함수를 호출에서 연산함
print(list(map(lambda a: a*2, [1,2,3,4]))) #이것도 위 함수와 동일한 결과이다.

#max는 최댓값, min은 최솟값을 반환한다.
a=[1,2,3,4,5,6]
b=['a','b','f','x','z']
print(max(a))
print(min(a))
print(max(b)) #a=1, b=2, c=3.. 으로 생각하면 z가 가장 크다.
print(min(b)) #문자열은 위와 동일

#oct는 숫자를 8진수 문자열로, ord는 문자의 유니코드 값을, pow는 제곱값을 반환한다.
print(oct(16))
print(ord('a'))
print(pow(4,3))

#range는 주로 for 반복문과 함께 쓰이면 a~b까지 범위를 객체로 만들어준다. 범위 미 지정시 0부터 시작한다.
print(list(range(5))) #0~5 까지 정수 요소를 가진 리스트 생성
print(list(range(3,8))) #3~8까지 정수 요소를 가진 리스트 생성
print(list(range(1,12,3))) #3씩 차이가 나는 요소를 1부터 만든다. 여기선[1,4,7,10]

#round는 반올림 기능이다.
print(round(2.6))
print(round(5.5))
print(round(2.7654,3)) #소수점3자리까지 표현

#sorted는 함수의 입력값을 정렬 후 리스트로 반환
print(sorted([4,7,1,3]))
print(sorted((7,6,11,3,8,13)))
print(sorted("Hello World!"))

#str은 문자열 형태로 객체변환 문자열로의 형 변환
print(str(3))
print(str("wassup".upper())) #대문자로 올려주는 upper() 사용

#tuple은 튜플 형태로 바꾸어 돌려줌 튜플로의 형변환
print(tuple("abcd"))
print(tuple([1,3,5,7,9]))
print(tuple((1,4,4,5,8)))

#zip은 동일한 개수로 이루어진 자료형을 묶어줌
print(list(zip([1,2,3],[4,5,6,])))
print(list(zip([1,2,3],[7,8,9],[4,5,6])))

위처럼 정리해 봤다.

사실 필요한 기능이 생각날 때마다 찾아봐야 할 것 같긴 하지만 형 변환, type 같은 애들은 외워두면 도움이 될 것 같다.

728x90
반응형

'Programming languages > Python' 카테고리의 다른 글

13. Library  (0) 2021.12.23
11.Exception  (0) 2021.12.19
10. Module & Package  (0) 2021.12.19
9. Class  (0) 2021.12.14
Examples) Chapter4  (0) 2021.12.12