기본 자료형(Data types)
1. 자료형이란?
- 자료형(data types)은 프로그래밍을 할 때 사용되는 모든 자료(데이터)의 형태를 의미한다.
- 현실 세계에는 이름, 나이, 주소, 성별 등 자료의 종류가 굉장히 다양하다.
- 따라서 어떤 형태의 자료를 처리할 것인지 알아야만, 그 자료를 올바르게 처리하여 원하는 결과물을 만들 수 있다.
- 파이썬에서는 아래와 같이 자료형을 구분한다.
2. 숫자형
2-1. 정수형(int)
- 양의 정수, 음의 정수, 0을 뜻한다.
- 정수형 혹은 int 타입이라고 말한다.
- 정수형 자료를 출력해 보자.
print(100)
print(0)
print(-25)
100
0
-25
- type() 내장함수를 사용하여 자료형을 알 수 있다.
print(type(100))
print(type(0))
print(type(-25))
<class 'int'>
<class 'int'>
<class 'int'>
2-2. 실수형(float)
- 소수점이 포함된 숫자를 뜻한다.
- 실수형 혹은 float 타입이라고 말한다.
- 실수형 자료를 출력해 보자.
print(1.2)
print(-3.56)
1.2
-3.56
- type() 내장함수를 사용하여 자료형을 알 수 있다.
print(type(1.2))
print(type(-3.56))
print(type(4.0)) # 정수형 4라고 생각할 수 있지만, 소수점이 존재하므로 실수형이다.
<class 'float'>
<class 'float'>
<class 'float'>
3. 문자열
3-1. 문자열이란?
- 한글, 알파벳 등과 같은 문자들의 집합을 뜻한다.
- 문자열 혹은 string 타입이라고 말한다.
- 문자열은 작은따옴표(’) 혹은 큰따옴표(”)로 감싸서 표기한다.
print('Hello Python')
print('파이썬')
print('123')
print('#$%^&*')
Hello Python
파이썬
123
#$%^&*
- type() 내장함수를 사용하여 자료형을 알 수 있다.
print(type('python'))
print(type("python"))
<class 'str'>
<class 'str'>
3-2. 문자열 사용 시 주의사항
1. 공백(’ ‘)과 빈 문자열(’’)도 눈에 보이지 않을 뿐이지 하나의 문자열로 취급된다.
print(' ') # 공백
print('') # 빈 문자열
<= 보이지 않지만 공백이 존재
<= 보이지 않지만 빈 문자열이 존재
2. 작은따옴표와 큰따옴표는 반드시 짝을 맞춰주어야 한다. 섞어서 쓰면 에러가 발생한다.
print('Hello Python")
File "/Users/edu/test.py", line 1
print('Hello Python")
^
SyntaxError: EOL while scanning string literal
3. 따옴표 안에 따옴표를 표현할 경우에는 서로 다르게 작성해야 한다.
print("큰따옴표 안에 '작은따옴표' 사용하기")
print('작은따옴표 안에 "큰따옴표" 사용하기')
큰따옴표 안에 '작은따옴표' 사용하기
작은따옴표 안에 "큰따옴표" 사용하기
만약 같은 따옴표 종류를 중첩으로 사용할 경우 에러가 발생한다.
print("큰따옴표 안에 "큰따옴표" 사용하기")
File "/Users/edu/test.py", line 1
print("큰따옴표 안에 "큰따옴표" 사용하기")
^
SyntaxError: invalid syntax
4. 숫자 123과 문자열 ‘123’은 엄연히 다르다. (똑같이 123으로 출력된다고 해서 같은 자료라고 생각하면 안 된다.)
print(123)
print('123')
print(type(123))
print(type('123'))
123
123
<class 'int'>
<class 'str'>
4. 불린형
- 참(True)과 거짓(False)을 뜻한다.
- 불린형 혹은 boolean 타입이라고 말한다. (논리형이라고도 한다.)
- 불린형 자료를 출력해 보자.
print(True)
print(False)
True
False
- type() 내장함수를 사용하여 자료형을 알 수 있다.
print(type(True))
print(type(False))
<class 'bool'>
<class 'bool'>
5. 명시적 형 변환
형 변환(typecasting)이란 특정 타입의 자료를 다른 타입의 자료로 변환하는 것을 말한다. 사용자는 파이썬의 내장 함수를 사용하여 의도적으로 타입을 변환할 수 있는데, 이를 명시적 형 변환이라고 한다.
5-1. int()
문자열 혹은 실수형을 정수형으로 변환할 때 사용하는 함수
1. 문자열(str) ⇒ 정수형(int)
정수 형태의 문자열을 정수로 변환한다.
print(int('123'))
print(type(int('123')))
123
<class 'int'>
단, 정수로 변환될 수 있는 형식일 때만 가능하다.
print(int('1.5'))
File "/Users/edu/test.py", line 1, in <module>
print(int('1.5'))
ValueError: invalid literal for int() with base 10: '1.5'
2. 실수형(float) ⇒ 정수형(int)
실수에서 소수점을 제외하여 정수로 변환한다.
print(int(1.5))
print(int(-1.5))
print(type(int(1.5)))
print(type(int(-1.5)))
1
-1
<class 'int'>
<class 'int'>
5-2. float()
문자열 혹은 정수형을 실수형으로 변환할 때 사용하는 함수
1. 문자열(str) ⇒ 실수형(float)
실수 형태의 문자열을 실수로 변환한다.
print(float('3.5'))
print(type(float('3.5')))
3.5
<class 'float'>
단, 실수로 변환될 수 있는 형식일 때만 가능하다.
print(float('3/5'))
File "/Users/edu/test.py", line 1, in <module>
print(float('3/5'))
ValueError: could not convert string to float: '3/5'
2. 정수형(int) ⇒ 실수형(float)
정수에서 소수점을 추가하여 실수로 변환한다.
print(float(10))
print(float(-10))
print(type(float(10)))
print(type(float(-10)))
10.0
-10.0
<class 'float'>
<class 'float'>
5-3. str()
문자열이 아닌 자료형을 문자열로 변환할 때 사용하는 함수
# int => str
print(str(123))
print(type(str(123)))
# float => str
print(str(10.5))
print(type(str(10.5)))
# bool => str
print(str(True))
print(type(str(True)))
123
<class 'str'>
10.5
<class 'str'>
True
<class 'str'>
출력은 기존 자료형 때와 동일하게 나오지만, 엄연히 문자열로 변경된 것임을 주의한다.
5-4. bool()
불린형이 아닌 자료형을 불린형으로 변환할 때 사용하는 함수
놀랍게도 자료형에는 참과 거짓이 있다. 즉 정수형, 실수형, 문자열이 참과 거짓으로 평가될 수 있다는 말이다.
아래의 표는 불린형이 아닌 자료형이 어떻게 불린형으로 평가되는지에 대한 표이다.
- 데이터의 값 Boolean
0 | False |
1 | True |
-1 | True |
0.0 | False |
1.5 | True |
‘’ | False |
‘Hello’ | True |
[] | False |
[1, 2, 3] | True |
0, 0.0, '', [] 과 같은 비어있음을 뜻하는 값은 모두 False(거짓)으로 취급된다. ([]와 [1, 2, 3]은 파이썬의 리스트 자료형이다. 이후 학습할 예정이다.)
따라서 bool() 함수를 사용했을 때 위의 표에 따라 변환됨을 확인할 수 있다.
print(bool(1))
print(bool(1.5))
print(bool('hello'))
print(bool([1, 2, 3]))
print(bool(0))
print(bool(0.0))
print(bool(''))
print(bool([]))
True
True
True
True
False
False
False
False
'Python' 카테고리의 다른 글
조건문(Condition) (0) | 2024.03.23 |
---|---|
연산자(Operators) (1) | 2024.03.17 |
사용자 입력(input)과 출력(print) (0) | 2024.03.17 |
변수(Variables) (0) | 2024.03.17 |
파이썬(Python) 소개 (0) | 2024.03.17 |