파이썬 자료형 변환
# 5 + 5 != '5' + '5'
안녕하세요! 일호15 입니다. 오늘은 파이썬의 자료형에 대해 탐구하는 시간 가져보겠습니다.
1 끼리끼리 논다
사람은 문맥을 읽는다. '배에 타서 배가 부를 때 까지 배를 먹었다.' 라는 문장을 이해할 수 있다. 하지만 번역기는 이를 제대로 번역하지 못한다. 컴퓨터는 어떤 배가 무슨 배인지 구분할 수 없기 때문이다.
마찬가지로, 컴퓨터는 이 데이터가 어떤 타입인지 구분하지 못한다. 그렇기에 5를 정수로 쓴건지, 문자로 쓴건지 타입을 지정해줘야 한다. 이 과정에서 파이썬 입문은 첫번째 위기를 맞이하게 된다.
5면 5인거지, 뭘 이런걸 구분해줘야 한단 말인가. 하지만 숫자 5와 문자 5는 느낌이 다르다. 숫자는 숫자끼리, 문자는 문자끼리 논다. 숫자와 문자는 같이 놀지 못한다.
5 + 5 = 10
'5' + '5' = '55'
사실, 이런게 가능하긴 하다.
'5' * 4 = '5555'
2 자료형 변환
데이터의 타입을 지정한다는 것의 의미를 어느정도 체감했을 것이다. 이 배가 무슨 배인지 하나하나 알려줘야, 비로소 컴퓨터가 인식할 수 있는 것이다.
데이터의 타입을 지정하는 방식은 크게 두 가지가 있다.
1 애초에 데이터를 만들 때, 쓰임새에 맞게 타입을 정해주면 된다.
2 어떤 데이터의 타입이 이미 정해져있을 때, 타입을 변경할 수 있다.
첫번째 방식은, 사실 흠잡을 데가 없다. 하지만 세상 만사가 다 완벽할 수는 없는 법. 침착하게 두번째 방법에 대해 알아볼 것이다. 아래의 split과 join은 문자열과 리스트 사이의 상호 변환을 가능케 한다.
3 split
split은 '나누다' 라는 뜻이다. 백문이 불여일견, 실습 코드를 살펴보자.
>>> a = '15:07:42'
>>> print(a.split(':'))
['15', '07', '42']
>>> b = '동해물과 백두산이 마르고 닳도록'
>>> print(b.split())
['동해물과', '백두산이', '마르고', '닳도록']
4 join
join에는 '연결하다' 라는 뜻이 있다. 이 또한 예제로 설명을 대체하겠다.
>>> a = ['15', '07', '42']
>>> print(":".join(a))
'15:07:42'
>>> b = ['동해물과', '백두산이', '마르고', '닳도록']
>>> print(" ".join(b))
'동해물과 백두산이 마르고 닳도록'
>>> a = '월 목 파이썬'.split() #문자열->리스트
>>> print(a)
['월', '목', '파이썬']
>>> b = ' '.join(a) #리스트->문자열
>>> print(b)
'월 목 파이썬'