본문 바로가기

Programming/Python 업무 자동화

3. 함수(3) - 파이썬 내장함수 1

 

 

내장 함수는 파이썬에서 기본적으로 제공한느 함수입니다. 전역 함수 레벨로 생각하시면 되겠습니다. 아래 내용을 통해 자주 사용하는 대표적인 내장 함수를 알아보겠습니다. 

 

내장함수 설명 예제
int 문자열 변수 > 숫자형으로 변환해 리턴 num = int(<VAR>)
str 숫자형 변수 > 문자열로 변환하여 리턴 string = str(<VAR>)
list 문자열, 튜플 변수 > 리스트로 변환하여 리턴 list_var = list(<VAR>)
tuple 문자열, 리스트 변수 > 튜플로 변환하여 리턴 tuple_var = tuple(<VAR>)

 

 

아래와 같이 간단한 예제를 보겠습니다.

int_var = 'not number'
if int_var.isdigit():
    conv_var = int(int_var)

 

위 예제에서 우선 isdigit() 함수는 해당 변수가 숫자로만 이뤄진 문자열인지 여부를 확인합니다. 위 예제에서는 만일 변수가 숫자로만 이루어진 문자열일 경우, int( ) 함수를 이용하여 해당 변수를 숫자형으로 변환하도록 선언했습니다. 

 

예제를 좀 더 보겠습니다. 

 

str_var = '1000'

if str_var.isdigit():
    res = int(str_var) + 1
    print(res)
else: 
    print(str_var)


# 출력
# 1001

 

위 코드에서는 str_var라는 변수가 "숫자로만 이루어진 문자열"일 경우에는 해당 변수를 int( ) 함수로 숫자 변환을 진행하고 1을 더해서 출력하도록 선언했습니다. 결과적으로, 이 단락이 실행되면서 1001이 출력되었습니다. 

 

str( )을 사용하는 예제도 살펴보겠습니다. 이는 숫자형 변수를 문자열로 변환합니다. 

 

int_val = 1000
res = 100 + 200
print(int_val)
print('RESULT: ' + res)


''' 
출력
1000
Traceback (most recent call last):
  File "~~", line 4, in <module>
    print('RESULT: ' + res)
          ~~~~~~~~~~~^~~~~
TypeError: can only concatenate str (not "int") to str
'''

 

 

위 코드는 그럴듯해 보이지만, RESULT 라인에서 오류가 발생합니다. 파이썬에서 문자열끼리 변수 타입을 통일하는 것은 필수이므로, res를 문자열로 변환해야 합니다. 

 

int_val = 1000
res = 100 + 200
print(int_val)
print('RESULT: ' + str(res))

'''
출력
1000
RESULT: 300
'''

 

 

 

 


 

 

이번에는 list( )를 살펴보겠습니다. 문자열, 튜플을 리스트로 변환하는 예제는 아래와 같습니다. 

 

str_var = 'bomaye'
tuple_var = (1, 2, 3)

print(list(str_var))
print(list(tuple_var))

'''
출력
['b', 'o', 'm', 'a', 'y', 'e']
[1, 2, 3]
'''

 

 

위와 같이 문자열은 한 글자씩 요소화 한 리스트가 되었고, 튜플 역시 리스트가 되었습니다. 

 

tuple( ) 함수 역시 동일합니다.

 

str_var = 'that\'s fine'
tuple_var = [1, 2, 3]

print(tuple(str_var))
print(tuple(tuple_var))

'''
출력
('t', 'h', 'a', 't', "'", 's', ' ', 'f', 'i', 'n', 'e')
(1, 2, 3)
'''

nozeroslope님의
글이 좋았다면 응원을 보내주세요!