내장 함수

honeyricecake·2022년 6월 30일
0

파이썬

목록 보기
20/26

Reinvent The Wheel, 이미 있는 것을 다시 만드느라 쓸데없이 시간을 낭비하지 말라). 그리고 이미 만들어진 프로그램은 테스트 과정을 수 없이 거쳤기 때문에 충분히 검증되어 있다. 따라서 무엇인가 새로운 프로그램을 만들기 전에는 이미 만들어진 것들, 그중에서도 특히 파이썬 배포본에 함께 들어 있는 파이썬 라이브러리를 살펴보는 것이 매우 중요하다.

라이브러리를 살펴보기 전에 파이썬 내장 함수를 먼저 살펴보자. 우리는 이미 몇 가지 내장 함수를 배웠다. print, del, type 등이 바로 그것이다. 이러한 파이썬 내장 함수는 외부 모듈과 달리 import가 필요하지 않기 때문에 아무런 설정 없이 바로 사용할 수 있다.

여기에서는 활용 빈도가 높고 중요한 함수를 중심으로 알파벳 순서대로 간략히 정리했다. 파이썬으로 프로그래밍을 하기 위해 이들 함수를 지금 당장 모두 알아야 하는 것은 아니므로 가벼운 마음으로 천천히 살펴보자.

  1. abs

절댓값 리턴

  1. all

반복가능한 자료형 x를 입력 인수로 받으며 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 Falsef를 리턴한다.

  1. any

반복가능한 자료형 x를 입력 인수로 받으며 이 x의 요소 중 하나라도 참이 있으면 True를 돌려주고, x가 모두 거짓일 때만 False를 돌려준다.

  1. chr

chr(i)는 유니코드값을 입력받아 그 코드에 해당하는 문자를 출력하는 함수이다.

  1. dir

dir(i)는 객체가 자체적으로 가지고 있는 변수나 함수를 보여준다.

ex.

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

'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'
등이 출력된다.

  1. divmod

divmods 는 몫과 나머지를 튜플 형태로 리턴하는 함수이다.

  1. enumerate

"열거하다" 라는 뜻이다.

이 함수는 순서가 있는 자료형(리스트, 튜플, 문자열) 을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 리턴한다.

for i, name in enumerate(['body', 'foo', 'bar']): print(i, name)

0 body
1 foo
2 bar
가 출력된다. 즉, 객체에 index값이 포함된다.

  1. eval

expression은 실행가능한 문자열 을 입력으로 받아
(ex. 1 + 2, 'hi' + 'a')
문자열을 실행한 결괏값을 돌려주는 함수이다.

보통 eval은 입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶을 때 사용한다.

문자열을 받아 그대로 실행할 수 있다는 데에 엄청난 장점이 있는 함수이다.

  1. filter

filter란 무엇인가 를 걸러낸다는 뜻으로 filter 함수도 동일한 의미를 가진다.

filter 함수는 첫번째 인수로 함수이름을 두번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형을 받는다. 그리고 두번째 인수이 반복가능한 자료형 요소가 첫번째 인수인 함수에 입력되었을 때, 반환값이 참인 것만 묶어서 돌려준다.

def positive(x):
    return x > 0

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

결과값 : [1,2,6]

  1. hex

정수값을 입력받아 16진수로 변환하여 리턴

  1. id

객체를 입력받아 객체의 레퍼런스 리턴

  1. input

사용자입력을 받는 함수로 늘 문자열을 리턴한다

  1. int

int(x)는 문자열형태의 숫자나 소수점이 있는 숫자 등을 정수형태(10진수)로 리턴하는 함수로 정수를 입력받으면 그대로 리턴한다.

실수는 내림 후 정수를 리턴한다.

2진수로 표현된 11의 10진수 값은 다음과 같이 구한다.

int(11,2)

  1. isinstance

is instance? 라는 의미로 첫번째 인수로 인스턴스, 두번쨰 인수로 클래스이름을 받아 입력으로 받은 인스턴스가 그 클래스이 인스턴스인지를 판단하여 True 또는 False를 리턴한다.

15 len

입력값 s의 길이를 돌려주는 함수이다.

s는 문자열, 리스트, 튜플 등이 가능하다.

16 list

반복가능한 자료형 s를 리스트로 만들어 그 객체의 레퍼런스를 리턴하는 함수이다.

17 map

함수와 반복 가능한 자료형을 입력으로 받는다.

map은 입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 돌려주는 함수이다.

lambda를 사용하면 다음처럼 간략하게 만들 수 있다.

list(map(lambda a : a*2, [1,2,3,4]))

리턴값은 map 객체이다.

따라서 list로 만들지 않으면

print(map(lambda a : a*2, [1,2,3,4]))

은 <map object at 0x000001CDC4D91CA0> 이런 값이 출력된다.

18 max

max(iterable) 은 인수로 반복가능한 자료형을 입력받아 그 최대값을 리턴한다.

19 min

최솟값을 리턴한다

20 oct

hex는 16진수 , oct는 8진수를 리턴한다. 둘다 문자열을 리턴한다

21 open

파일 이름과 읽기 방법을 입력받아 파일 객체를 리턴하는 함수이다.

f = open("binary_file", "rb")

이는 바이너리 읽기 모드를 의미한다.

모드 부분을 생략하면 기본적으로 읽기 모드를 갖게 된다.

  1. ord

ord(c)는 문자의 유니코드 값을 돌려주는 함수로서 chr 함수와 반대이다.

  1. pow

pow(x,y)는 x의 y제곱한 결괏값을 리턴하며 x**y와 같다.

24 range

입력받은 숫자에 해당하는 범위값을 반복가능한 객체로 만들어 리턴한다
시작 숫자를 지정하지 않으면 0부터 시작한다

25 round

숫자를 입력받아 반올림해주는 함수이다.

ex.
round(4.6) : 5가 리턴된다

다음과 같이 실수 5.678을 소수점 두자리까지만 반올림할 수 있다.

round(5.678,2)

round 함수의 두 번째 매개변수는 반올림하여 표시하고 싶은 소수점의 자릿수(ndigits)이다.

생략하면 기본적으로 0이 대입되었다고 보면 된다.

26 sorted

sorted(iterable)함수는 입력값을 정렬한후 그 결과를 리스트로 돌려주는 함수이다.

sort는 객체를 리턴하지 않는 것이 차이점이다.

29 str

str(object)는 문자열 형태로 객체를 리턴하는 함수이다.

30 sum

sum(iterable)은 리스트나 튜플의 모든 요소의 합을 돌려주는 함수이다.

31 tuple

반복가능한 자료형을 입력받아 튜플 형태로 바꾸어 리턴해주는 함수이다.

32 type

입력된 객체가 자료형이 무엇인지 알려주는 함수이다

class Animal:
    pass

lion = Animal()

print(type(lion))

<class '__main__.Animal'> 이 출력되어 어떤 클래스인지도 알려준다

33 zip

zip(*iterable) 은 동일한 개수로 이루어진 자료형을 묶어주는 역할을 하는 함수이다.

여기서 사용한 *iterable은 반복가능한 자료형 여러개를 입력활 수 있다는 의미이다.

즉, 동일한 개수 m개로 이루어진 반복가능한 객체 n개를 입력하면 n개의 요소로 이루어진 튜플 m개를 리턴하며 같은 인덱스끼리 n개씩 묶어준다.

0개의 댓글