시리즈 이전글입니다.
2021/01/21 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-5.Python 기초편 주석, 들여쓰기
자료형이란 데이터 타입(Data Type)을 의미합니다.
먼저 프로그래밍과 무관한 예를 들어보겠습니다.
1+1의 결과는 뭘까요? 하면 바로 2라는 답이 나올 것입니다.
그렇다면 안녕+1은 뭐라고 할 수 있을까요?
넌센스(Nonsense)인가 싶기도 하고 무엇을 하라는 것인지 몰라 1+1 문제처럼 간단히 답하기 어렵습니다.
아마 이런 문제를 보면 상식적으로 들 수 있는 생각은
“문자랑 숫자랑 어떻게 더하지?” 일 것 같습니다.
네 맞습니다. 문자랑 숫자랑 더할 수가 없기에 (+)연산이 되지 않습니다.
이는 현실세계 뿐만 아니라 프로그래밍 세계에서도 마찬가지입니다.
아래처럼 변수 var1에 숫자 1을 저장해보겠습니다. var2에는 “안녕”을 저장합니다.
그리고 이 둘을 더해 새로운 변수 var3에 저장하고 출력하는 코드를 만들어 보겠습니다.
var1 = 1
var2 = "안녕"
var3 = "안녕"+1
print(var1)
print(var2)
print(var3)
코드를 만들고 실행해보면 print(var3)에서 다음과 같은 에러가 발생합니다.
에러 내용을 단번에 알아볼 수는 없겠지만 천천히 살펴보면
str와 str끼리만 연결(concatneate)할 수 있고 int는 그럴 수 없다고 합니다.
이는 같은 자료형끼리만 연산이 가능하고 그렇지 않은 경우에는 연산이 불가하기 때문입니다.
그러면 Python에서 사용할 수 있는 자료형들은 어떤 것들이 있는지 살펴보겠습니다.
var1 = 1
print(type(var1))
var2 = 1.0
print(type(var2))
var3 = 1+2j
print(type(var3))
var4 = 'Type?'
print(type(var4))
var5 = True
print(type(var5))
변수를 type()라는 내장함수로 감싸면 이 변수가 무슨 데이터 타입인지를 알려줍니다.
(print()와 마찬가지로 Python에서 기본으로 제공하는 내장함수입니다.)
위 코드를 출력해보면 다음과 같은 결과가 나옵니다.
<class 'int'> # var1
<class 'float'> # var2
<class 'complex'> # var3
<class 'str'> # var4
<class 'bool'> # var5
하나씩 살펴보면
var1는 정수형(int), var2는 실수형(float) var3는 복소수(complex), var4는 문자형(str)
마지막으로 var5는 논리형(Boolean)이라는 데이터 타입이라고 나옵니다.
이외에도 여러 자료형이 있지만 우선은 이 정도만 알아보겠습니다.
따라서 ‘안녕’과 1의 +연산이 안되었던 이유는
둘의 데이터 타입이 각각 문자열(str)과 정수형(int)으로 서로 달랐기 때문입니다.
하지만 서로 다른 자료형일지라도 정수, 실수, 복소수(int, float, complex)끼리는 숫자형이라는 공통 속성으로 인해 연산이 가능합니다.
var1 = 1
var2 = 1.0
var3 = 1+2j
print(var1 + var2 + var3)
# (3+2j)
같이 보시면 좋을 글
2021/02/10 - [파이썬/주식 자동매매] - 주식매매프로그램 개발 노하우, 소스를 담은 전자책이 발간되었습니다.
2021/01/22 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-7.Python 기초편 문자열 사용
'파이썬 > 주식 자동매매' 카테고리의 다른 글
Python 키움API 자동매매프로그램 개발-8.Python 기초편 튜플, 리스트 사용 패킹 언패킹 (1) | 2021.01.22 |
---|---|
Python 키움API 자동매매프로그램 개발-7.Python 기초편 문자열 사용 (2) | 2021.01.22 |
Python 키움API 자동매매프로그램 개발-5.Python 기초편 주석, 들여쓰기 (0) | 2021.01.21 |
Python 키움API 자동매매프로그램 개발-4.Python 기초편 변수 사용하기 (2) | 2021.01.20 |
Python 키움API 자동매매프로그램 개발-3.Python 기초편 Hello world 출력 (0) | 2021.01.20 |
댓글