데이터 타입 및 변환

PythonBeginner
지금 연습하기

소개

이전 랩에서는 Python 의 기본 사항을 배웠습니다. 이번 랩에서는 기본적인 Python 데이터 타입과 데이터 타입 간의 변환 방법을 배우겠습니다.

성과

  • 데이터 타입 (Data Types)
  • type() 함수
  • 타입 변환 (Type Conversion)

데이터 타입

데이터 타입은 프로그래밍 언어의 구성 요소이며, Python 은 여러 가지 기본적인 타입을 제공합니다. Python 인터프리터를 사용하여 이를 살펴보겠습니다.

터미널에 python3 를 입력하여 Python 인터프리터를 열어보겠습니다.

Python interpreter terminal window

Python 의 주요 데이터 타입에는 정수 (integers), 부동 소수점 숫자 (floats), 부울 (Booleans), 문자열 (strings) 이 있습니다. type() 함수는 값의 타입을 식별하는 데 도움이 되며, 이 함수에 전달된 값의 타입을 출력합니다.

문자열 (String)

문자열은 큰따옴표 또는 작은따옴표로 묶인 문자 시퀀스입니다.

>>> print("Hello World")
Hello World
>>> print('Hello World')
Hello World
>>> type("Hello World")
<class 'str'>               ## it means it's a string

숫자 (Number)

Python 의 숫자는 정수 또는 부동 소수점 숫자일 수 있습니다. 정수는 정수입니다. 부동 소수점 숫자는 소수점이 있는 숫자입니다. 예를 들어, 42는 정수이고, 3.14는 부동 소수점 숫자입니다.

>>> print(42)
42
>>> print(3.14)
3.14
>>> type(42)
<class 'int'>              ## it means it's an integer
>>> type(3.14)
<class 'float'>            ## it means it's a float

부울 (Boolean)

부울은 True 또는 False 값을 가질 수 있습니다. 이는 종종 비교의 결과를 나타내는 데 사용됩니다. 예를 들어, 1 < 2True이고, 1 > 2False입니다.

>>> print(1 < 2)
True
>>> print(1 > 2)
False
>>> type(True)
<class 'bool'>            ## it means it's a boolean

Python 의 데이터 타입을 이해하는 것은 다양한 값으로 작업하고 해당 특성에 맞게 조정된 연산을 수행하는 데 필수적입니다.

타입 변환

Python 에서 타입 변환은 변수의 데이터 타입을 변경하는 것을 포함합니다. 이는 특정 데이터 타입에 특정한 연산을 수행하거나, 변수가 특정 타입을 갖도록 보장할 때 유용합니다.

명시적 타입 변환 (Explicit Type Conversion)

명시적 타입 변환 또는 타입 캐스팅 (type casting) 은 내장 함수를 사용하여 수행됩니다.

  • int(x): x를 정수로 변환합니다.
  • float(x): x를 부동 소수점 숫자로 변환합니다.
  • str(x): x를 문자열로 변환합니다.
  • bool(x): x를 부울로 변환합니다.
>>> x = 10.5
>>> int_x = int(x)      ## explicit conversion to integer
>>> str_x = str(x)      ## explicit conversion to string
>>> bool_x = bool(x)    ## explicit conversion to boolean

>>> print(int_x)
10
>>> print(str_x)
10.5
>>> print(bool_x)
True

여기서 부동 소수점 숫자 x는 각각의 변환 함수를 사용하여 정수, 문자열 및 부울로 명시적으로 변환됩니다.

암시적 타입 변환 (Implicit Type Conversion)

암시적 타입 변환 또는 타입 강제 변환 (type coercion) 은 Python 이 표현식에서 서로 다른 타입의 피연산자를 만났을 때 자동으로 발생합니다. 연산을 수행하기 전에 공통 타입으로 변환하려고 시도합니다.

>>> x = 10           ## integer
>>> y = 3.14         ## float
>>> result = x + y   ## implicit conversion of x to float
>>> print(result)
13.14

여기서 정수 x는 덧셈 전에 부동 소수점 숫자로 암시적으로 변환됩니다.

타입 변환 오류 (Type Conversion Error)

모든 변환이 유효한 것은 아닙니다. 호환되지 않는 타입을 변환하려고 하면 오류가 발생할 수 있습니다.

>>> x = input()
i
>>> type(x)
<class 'str'>           ## By default, `input()` treats all input as strings.
>>> int_x = int(x)      ## error: cannot convert string to integer

데이터 손실도 고려해야 합니다. 타입 간 변환은 정밀도 또는 정보 손실을 초래할 수 있습니다.

>>> x = 3.14
>>> int_x = int(x)      ## data loss: decimal part is discarded
>>> print(int_x)
3

요약

축하합니다! 이 Lab 을 완료했습니다.

이 Lab 에서 다음을 배웠습니다.

  • Python 의 기본 데이터 타입.
  • type() 함수.
  • 타입 변환 (Type conversion).