English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

파이썬 기본 튜토리얼

파이썬 프로세스 제어

Python 함수

Python 데이터 타입

파이썬 파일 작업

파이썬 객체와 클래스

파이썬 날짜와 시간

파이썬 고급 지식

파이썬 참조 가이드

Python 타입 변환

파이썬에서 타입 변환을 배우기 전에 알아야 할 것은  파이썬 데이터 타입

타입 변환

하나의 데이터 타입(정수, 문자열, 소수점 수 등)의 값이 다른 데이터 타입으로 변환되는 과정을 타입 변환이라고 합니다. 파이썬에는 두 가지 타입 변환 방식이 있습니다.

  1. 숨겨진 타입 변환

  2. 명시적인 타입 변환

숨겨진 타입 변환

숨겨진 타입 변환에서 파이썬은 자동으로 하나의 데이터 타입을 다른 데이터 타입으로 변환합니다. 이 과정은 사용자 참여가 필요하지 않습니다.

파이썬이 낮은 데이터 타입(정수)을 높은 데이터 타입(소수점 수)으로 변환하여 데이터 손실을 피하도록 돕는 예제를 보여드리겠습니다.

:문자열과 정수를 더하는 명시적 변환 사용1:정수를 부동소수점형으로 변환

예제 123
num_flo = 1.23
num_new = num_int + num_flo
"
print("num_flo 데이터 타입:",type(num_flo))
print("num_new 값:",num_new)
print("num_new 데이터 타입:",type(num_new))

print("sum의 데이터 타입:",type(num_sum))

위의 프로그램을 실행할 때, 출력은 다음과 같을 것입니다:
num_flo 데이터 타입: <class 'float'>
num_new 값: 124.23
num_new 데이터 타입: <class 'float'>

sum의 데이터 타입: <class 'int'>

  • 우리는 두 가지 변수우리는num_flo를 추가을 저장한 변수num_new에서

  • 우리는 세 가지 객체의 데이터 타입을 각각 확인합니다.

  • 출력에서 볼 수 있듯이의 데이터 타입은 integer입니다.num_flo의 데이터 타입이 float입니다.

  • 또한, 우리는num_newfloat 데이터 타입으로, Python이 항상 데이터 손실을 피하기 위해 작은 데이터 타입을 큰 데이터 타입으로 변환하기 때문입니다.

이제, 문자열과 정수를 추가하여 Python이 어떻게 처리하는지 확인해 보겠습니다.

:문자열과 정수를 더하는 명시적 변환 사용2:문자열(높은) 데이터 타입과 정수(낮은) 데이터 타입의 추가

예제 123
num_int =456num_str = "
"
print("num_str 데이터 타입:",type(num_str))
print(num_int+num_str)

print("sum의 데이터 타입:",type(num_sum))

위의 프로그램을 실행할 때, 출력은 다음과 같을 것입니다:
num_str 데이터 타입: <class 'str'>
Traceback (최근 호출 마지막): 
  파일 "python", 줄 7, <module>에서 
TypeError: 지원되지 않는 연산자 타입(s)를 위해 +: 'int'과 'str'

sum의 데이터 타입: <class 'int'>

  • 우리는 두 가지 변수num_int와num_str추가.

  • 출력에서 볼 수 있듯이, TypeError를 얻었습니다. 이 경우 Python은 은닉 변환을 사용할 수 없습니다.

  • 하지만, Python은 이러한 상황에 대한 해결책을 제공하며 이를 "명시적인 변환”。

명시적인 타입 변환

명시적인 타입 변환”에서 사용자는 객체의 데이터 타입을 필요한 데이터 타입으로 변환합니다. 우리는 int(), float(), str()와 같은 предопределенные функции를 사용하여 명시적인 타입 변환을 수행합니다.

이 변환 유형은 사용자가 강제로 데이터 타입을 변환(변경)하는 이유로 타입 변환으로도 알려져 있습니다.

문법 :

<required_datatype>(expression)

可以通过将所需的数据类型函数分配给表达式来完成类型转换。

:문자열과 정수를 더하는 명시적 변환 사용3표현식에 필요한 데이터 타입 함수를 할당하여 타입 변환을 수행할 수 있습니다.

예제 123
num_int =456num_str = "
"
print("num_int의 데이터 타입:",type(num_int))
print("타입 변환 전 num_str의 데이터 타입:",type(num_str))
num_str = int(num_str)
print("타입 변환된 num_str의 데이터 타입:",type(num_str)) + num_str
num_sum = num_int
print("num_int와 num_str의 합:",num_sum)

print("sum의 데이터 타입:",type(num_sum))

위의 프로그램을 실행할 때, 출력은 다음과 같을 것입니다:
num_int의 데이터 타입: <class 'int'>
타입 변환 전 num_str의 데이터 타입: <class 'str'>
타입 변환된 num_str의 데이터 타입: <class 'int'> 579
num_int와 num_str의 합:

sum의 데이터 타입: <class 'int'>

  • 위의 프로그램에서num_str우리는num_int

  • 변수를 더합니다.num_str우리는 int() 함수를 사용하여

  • string(고)에서 integer(저) 타입으로 변환하여 추가를 수행합니다.num_str정수로 변환된 후, 파이썬은 두 변수를 더할 수 있습니다.

  • 마지막으로, 우리는num_sum값과 그 값의 데이터 타입은 정수입니다.

기억해야 할 주요 사항

  1. 타입 변환은 객체가 하나의 데이터 타입에서 다른 데이터 타입으로 변환되는 것입니다.

  2. 은닉 타입 변환은 파이썬 인터프리터가 자동으로 수행합니다.

  3. 파이썬은 은닉 타입 변환에서 데이터 손실을 피합니다.

  4. 명시적 타입 변환은 타입 변환으로, 사용자가 предопределенные 함수를 사용하여 객체의 데이터 타입을 변환합니다.

  5. 형 변환 중에, 특정 데이터 타입으로 객체를 강제로 변환할 때 데이터 손실이 발생할 수 있습니다.