데이터 타입

파이썬에서 다룰 수 있는 가장 기본적인 데이터의 종류는 정수, 부동소수점, 문자열, 부울값이 있다.

정수 int 소수점이 없는 수치
부동소수점 float 소수가 있는 수치
문자열 string 문자의 나열
부울값 bool True, False

 

이러한 타입들은 엄밀하게 구분되는데 type() 함수를 사용하여 변수나 값의 타입에 대한 정보를 알 수 있다.

연산 과정이 있어도 결과 값으로 타입이 결정된다.

문자열을 값을 할당할 때는 큰 따옴표("") 또는 작은따옴표('')로 문자를 감싼다.

일반적인 문자열을 감쌀 때는 두 부호가 동일하게 동작을 하지만 특수한 상황에서 다르게 사용한다.

 

만약 문자열 안에 부호가 포함되어 있는 상황에서는 문자열의 범위를 표현하려던 부호가 의도와 다르게 적용될 수 있다.

Hello "Python"!
I'm Bak

a = "Hello "Python"!"

b = 'I'm Bak'

이런 경우에는 문자열을 해석할 때 오류가 발생하지 않도록 두 종류의 방식을 모두 사용할 수 있도록 한다.

 

형변환

type casting

데이터형을 다른 데이터 형으로 변환하는 것을 뜻한다.

Int

int() : 데이터 타입을 정수로 변환시킨다.

 

Float

float() : 데이터 타입을 부동소수점으로 변환한다.

 

String

str() : 데이터 타입을 문자열로 변환한다.

 

Bool

bool은 어떤 조건이 성립했는지 아닌지 처리를 바꾸면서 실행된다. 

True와 False 둘 중 하나로 존재한다.

 

bool()을 사용하면 입력된 식이나 값을 평가해서 bool 타입의 값으로 출력한다. 이때 0의 경우 false 그 외의 값들은 모두 true로 평가된다.

 

728x90
반응형

부동소수점 숫자를 나타내는 데이터 형식 중 하나이다. 

 

float

32비트의 고정된 크기를 가지며 숫자의 소수점 이하 7자리까지 정밀도를 가지고 있다.

실수 리터럴을 표현할 때 컴파일러가 float으로 인식하게 하려면 숫자 뒤에 f 또는 F를 붙여야 한다.

float a = 1.0f
float b = 1.0F

double

float보다 더 큰 범위의 수를 저장할 수 있으며 64비트 부동소수점 형식을 사용하여 약 15~16자리의 정밀도를 가진다. 하지만 이론적으로는 무한한 자릿수까지 표현이 가능하며 더 정밀한 값을 표현하기 위해서는 decimal을 사용해야 한다.

 

* decimal의 경우 높은 정밀도를 제공하지만 128비트 크기로 계산 속도가 느리기 때문에 성능이 중요한 경우에는 사용에 주의가 필요하다.

 

double d = 1.0d;
double e = 1.0;

double을 사용할 때는 접미사 d를 생략할 수 있다. 또한 double 형에 1.0f 처럼 float 값을 넣어도 암시적 형변환이 이루어져 허용이되지만 반대의 경우는 에러가 발생한다.

double d = 1.0f;	// implicitly convert
float a = 1.0d; 	// error

 

float보다 double이 더 많은 소수점 자릿수의 표현이 가능하지만 메모리의 크기가 차이가 나기 때문에 꼭 필요한 상황에서만 double을 사용하며 이외의 소수점을 사용할때는 float을 사용하는 것이 좋다.

 

 

728x90
반응형

+ Recent posts