본 게시글에서는 Python에서 기본으로 제공되는 내장 함수 A~E에 해당하는 함수들을 소개한다.
내장 함수를 잘 활용하면 코드를 더 간결하게 만들 수 있다.
기본적인 함수와 자주 사용하는 함수만 정리했고, 나머지 함수들은 Python 공식 문서에서 더 자세하게 공부할 수 있다.
A
abs(x)
절댓값 구할 때 사용하는 함수다.
n = 123
abs(n)
>> 123
n = -123
abs(n)
>> 123
all(iterable)
iterable의 모든 요소가 True 또는 비어있으면 True를 반환한다.
l = [1, 2, 3, 4, 5]
# 모든 요소가 int 타입인가?
all(x for x in l if type(x) == int)
>> True
any(iterable)
iterable의 요소 중 하나라도 True이면 True를 반환하고, iterable이 비어있으면 Fale를 반환한다.
l = ['1', 2, 3, 4, 5]
# 요소 중 하나라도 str 타입이 있는가?
any(x for x in l if type(x) == str)
>> True
B
bin(x)
정수를 '0b'가 앞에 붙은 이진 문자열로 변환한다.
bin(0)
>> '0b0'
bin(2)
>> '0b10'
class bool([x])
True 또는 False를 반환한다.
False에 해당하는 x로는 0, 빈 문자열, 빈 리스트, 빈 딕셔너리, 빈 값 등이 있고, 이를 제외한 나머지는 True에 해당한다.
bool(0)
>> False
bool(1)
>> True
bool('')
>> False
bool('abc')
>> True
bool([])
>> False
bool([1, 2, 3])
>> True
bool({})
>> False
bool({1: '1'})
>> True
bool()
>> False
C
callable(object)
object가 호출 가능하면 True, 아니면 False를 반환한다.
l = [1, 2, 3]
callable(l)
>> False
def f(x):
return x
callable(f)
>> True
chr(i)
정수 i를 나타내는 유니코드 문자를 반환한다.
chr(97)
>> 'a'
chr(12593)
>> 'ㄱ'
class complex([real[, imeg]])
real + imag*1j 값을 가진 복소수를 반환하거나, 문자열 또는 숫자를 복소수로 변환하는 함수이다.
complex(1, 2)
>> (1+2j)
complex('1+2j')
>> (1+2j)
D
delattr(object, name)
객체의 attribute를 삭제하는 함수이다.
del 과 같다.
class C(object):
def __init__(self):
self.x = 1
c = C()
print(c.x)
dellattr(c, x)
print(c.x)
>> 1
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-10-34cb4a853c28> in <module>
7 print(c.x)
8
----> 9 dellattr(c, x)
10
11 print(c.x)
NameError: name 'dellattr' is not defined
c = C()
print(c.x)
del d.x
print(c.x)
>> 1
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-11-3702106b4986> in <module>
3 print(c.x)
4
----> 5 del d.x
6
7 print(c.x)
NameError: name 'd' is not defined
dir([object])
object에 정의되어있는 것들의 이름들을 반환한다.
object를 입력하지 않으면 현재 정의되어있는 것들의 이름들을 반환한다.
dir()
>> ['C',
'In',
'Out',
'_',
'_1',
'_2',
'_3',
'_4',
'_5',
'_6',
'_7',
'_8',
'_9',
'__',
'___',
'__builtin__',
'__builtins__',
'__doc__',
'__loader__',
'__name__',
'__package__',
'__spec__',
'_dh',
'_i',
'_i1',
'_i10',
'_i11',
'_i12',
'_i2',
'_i3',
'_i4',
'_i5',
'_i6',
'_i7',
'_i8',
'_i9',
'_ih',
'_ii',
'_iii',
'_oh',
'c',
'exit',
'get_ipython',
'quit']
dir(c)
>> ['__class__',
'__delattr__',
'__dict__',
'__dir__',
'__doc__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__gt__',
'__hash__',
'__init__',
'__init_subclass__',
'__le__',
'__lt__',
'__module__',
'__ne__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__setattr__',
'__sizeof__',
'__str__',
'__subclasshook__',
'__weakref__',
'x']
divmod(a, b)
a를 b로 나눈 값을 반환한다.
반환되는 첫번째 값은 몫, 두번째 값은 나머지이다.
divmod(10, 2)
>> (5, 0)
divmod(11, 2)
>> (5, 1)
E
enumerate(iterable, start=0)
반복문에서 객체의 인덱스 번호와 요소를 tuple 형태로 반환한다.
l = [1, 2, 3, 4, 5]
for i, x in enumerate(l):
print(i, ':', x)
>> 0 : 1
1 : 2
2 : 3
3 : 4
4 : 5
eval(expression[, globals[, locals]])
문자열로 표현된 식을 계산하는 함수이다.
a = eval('1+2+3')
a
>> 6
exec(object[, globals[, locals]])
문자열로 표현된 문을 실행하는 함수이다.
exec('b = 1 + 2 + 3')
b
>> 6
'Coding' 카테고리의 다른 글
Programmers | Weekly Challenge | 1주차 - 부족한 금액 계산하기 (0) | 2021.10.24 |
---|