Programming/Python

파이썬 내장 함수

오숭이 2022. 1. 5. 16:35

abs

abs(x)는 어떤 숫자를 입력받았을 때, 그 숫자의 절댓값을 리턴하는 함수이다.

 

 

all

all(x)sms 반복 가능한(iterable) 자료형 x를 입력 인수로 받으며, x의 요소가 모두 참이면 True,

거짓이 하나라도 있으면 False를 리턴한다.

 

반복 가능한 자료형이란 for문으로 그 값을 출력할 수 있는 것을 의미한다. (리스트, 튜플, 문자열, 딕셔너리, 세트)

>>> all([1, 2, 3])
True

 

 

any

any(x)는 반복 가능한(iterable) 자료형 x를 입력 인수로 받으며, x의 요소 중 하나라도 참이 있으면 True,

x가 모두 거짓일 때에만 False를 리턴한다. (리스트 안의 0은 거짓)

>>> any([1, 2, 3, 0])
True

 

 

divmod

divmod(a, b)는 2개의 숫자를 입력받아, a를 b로 나눈 몫과 나머지를 튜플 형태로 리턴하는 함수이다.

>>> divmod(7, 3)
(2, 1)

 

 

enumerate

enumerate는 "열거하다"라는 뜻이다. enumerate 함수는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아

인덱스값을 포함하는 enumerate 객체를 리턴한다.

 

아래 코드와 같이 for문과 함께 사용하면 자료형의 현재 순서(index)와 그 값을 알 수 있다.

>>> for i, name in enumerate(['body', 'foo', 'bar']):
...     print(i, name)
...
0 body
1 foo
2 bar

 

 

eval

eval(expression)은 실행 가능한 문자열('1+2', 'hi' + 'a', 'divmod(4, 3)' 등)을 입력으로 받아 문자열을 실행한 결과값을 리턴한다. 

 

※ eval()은 실행 가능한 문자열을 입력으로 받으므로 따옴표(', ")로 닫아줘야 한다.

>>> eval('1+2')
3
>>> eval("'hi' + 'a'")
'hia'
>>> eval('divmod(4, 3)')
(1, 1)

 

 

filter

filter()는 첫 번째 인수로 함수 이름을, 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형을 받는다.

두 번째 인수인 반복 가능한 자료형 요소가 첫 번째 인수인 함수에 입력될 때, 반환 값이 참인 것만 걸러내서 리턴한다.

#filter1.py
def positive(x):
    return x > 0

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

 

위의 코드는 lambda로 표현 가능하다.

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

 

 

id

id(object)는 객체를 입력받아 객체의 고유 주소 값(레퍼런스)을 돌려주는 함수이다.

>>> a = 3
>>> id(3)
135072304
>>> id(a)
135072304
>>> b = a
>>> id(b)
135072304

 

 

int

int(x)는 문자열 형태의 숫자나 소수점이 있는 숫자 등을 청수 형태로 리턴하는 함수이다.

 

int(x, radix)로도 사용한다. 아래 코드는 2진수로 표현된 11의 10진수 값을 구한다.

>>> int('11', 2)
3

 

 

isinstance

isinstance(object, class)는 첫 번째 인수로 인스턴스, 두 번째 인수로 클래스 이름을 입력한다. 입력으로 받은 인스턴스가 그 클래스의 인스턴스인지를 판단하여 참이면 True, 거짓이면 False를 리턴한다.

>>> class Person: pass
...
>>> a = Person()
>>> isinstance(a, Person)
True

 

 

map

map(f, iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력받아 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 리턴하는 함수이다.

 

아래 코드는 two_times 함수가 리스트 요소를 입력받아 각 요소에 2를 곱한 결과값을 리턴한다.

>>> def two_times(x): 
...     return x*2
...
>>> list(map(two_times, [1, 2, 3, 4]))
[2, 4, 6, 8]

 

위 코드를 lambda로 표현할 수 있다.

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

 

 

ord

ord(c)는 문자의 유니코드 값을 리턴하는 함수이다.

>>> ord('a')
97
>>> ord('가')
44032

 

 

chr

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

>>> chr(97)
'a'
>>> chr(44032)
'가'

 

 

pow

pow(x, y)는 x의 y 제곱한 결과값을 리턴하는 함수이다.

>>> pow(2, 4)
16
>>> pow(3, 3)
27

 

round

round(number[, ndigits]) 함수는 숫자를 입력받아 반올림 해주는 함수이다. (소수점은 생략 가능하다.)

>>> round(4.6)
5
>>> round(4.2)
4
>>> round(5.678, 2)
5.68

 

 

sorted

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]

 

 

zip

zip(*iterable)은 동일한 개수로 이루어진 자료형을 각 인덱스 순서에 맞춰 묶어 리스트로 리턴하는 함수이다.

 

※ *iterable은 반복 가능한 자료형 여러 개를 입력할 수 있다는 의미이다.

>>> list(zip([1, 2, 3], [4, 5, 6]))
[(1, 4), (2, 5), (3, 6)]
>>> list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9]))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
>>> list(zip("abc", "def"))
[('a', 'd'), ('b', 'e'), ('c', 'f')]