예제와 함께 설명하는 Python의 유형 변환 및 유형 캐스팅
게시 됨: 2020-02-19Python에는 많은 데이터 유형이 있으며 프로그래머는 Python의 한 데이터 유형을 다른 데이터 유형으로 변환하는 방법을 알아야 합니다. Python에는 이 작업을 위한 많은 내장 함수가 있습니다. 그리고 이 간단한 가이드에서는 유형 변환을 더 잘 이해하는 데 도움이 되도록 그것들을 살펴볼 것입니다.
이 가이드를 마치면 문자열을 정수로 또는 그 반대로 변환하는 방법을 알게 될 것입니다. 더 이상 고민하지 않고 시작하겠습니다.
목차
파이썬의 데이터 유형
Python의 유형 변환에 대한 논의를 시작하기 전에 이 언어에 있는 모든 데이터 유형을 간단히 살펴보겠습니다.
정수
정수 값은 원하는 길이일 수 있습니다. 수학에서처럼 파이썬의 정수도 숫자입니다. 그러나 슈퍼컴퓨터가 없으면 무한정 긴 정수를 가질 수 없습니다. 파이썬은 접두사가 없는 숫자를 정수로 취급합니다. 이 숫자에는 십진수도 포함됩니다.
부동 소수점 숫자
Python의 부동 소수점은 소수 자릿수와 정수를 구분하기 위해 소수점으로 작성된 숫자입니다. 부동 소수점 숫자의 몇 가지 예는 4.3, 9.18 등입니다. Python에서도 과학 표기법에 '''를 추가할 수 있습니다.
복소수
파이썬에서 복소수는 다음 형식을 따릅니다: (실수부 + 허수부). 복소수의 몇 가지 예는 (3+2i), (8-2x) 등입니다.
문자열
문자열은 Python에서 특정 문자 집합이 될 수 있습니다. 그것들을 str이라고 합니다. 따옴표를 사용하여 작성할 수 있습니다. Python에서 문자열을 작성할 때 작은따옴표와 큰따옴표를 모두 사용할 수 있습니다. 문자열은 '91', "hello" 등과 같이 따옴표로 묶인 모든 문자가 될 수 있습니다.
정수와 마찬가지로 문자열의 문자 길이에는 제한이 없습니다. 문자열은 삼중 따옴표로 묶인 문자열, 원시 문자열 등 다양한 유형이 있습니다. 그러나 문자열과 그 종류에 대해 논의하기 시작하면 이 기사가 너무 길어질 것입니다.
부울 데이터 유형
논의할 마지막 데이터 유형은 부울 데이터 유형입니다. 부울 데이터는 true와 false의 두 값 중 하나를 가질 수 있습니다. 부울 값은 여러 가지 이유로 Python에서 매우 중요합니다. 부울 값을 사용하여 개체 및 값의 진실성을 결정할 수 있습니다.
읽기: 2020년 인도의 Python 개발자 급여
Python의 논리 연산자에 대해 더 배우게 되면서 부울 객체와 값을 처리해야 합니다.
그래서 이것들은 파이썬에 존재하는 모든 데이터 유형이었습니다. Python의 데이터 유형에 대해 자세히 알아보세요. 이러한 데이터 유형 외에도 Python에는 다양한 작업을 수행하는 데 도움이 되는 많은 내장 함수가 있습니다. 유형 변환도 구현하려면 몇 가지 내장 함수를 사용해야 합니다. 데이터 과학 프로그램을 확인하여 다양한 유형의 전환에 대해 알아보세요.
데이터 유형에 대해 논의했으므로 이제 유형 변환으로 넘어갈 수 있습니다.
Python의 다양한 유형 변환
Python에는 두 가지 유형의 변환이 있습니다. 그것들은 다음과 같습니다:
절대적인
이 경우 Python은 데이터 유형을 자동으로 다른 유형으로 변환합니다. 사용자인 당신은 이 과정에 관여할 필요가 없습니다. 다음은 Python에서 정수를 부동 소수점으로 암시적으로 변환하는 예입니다.
num_int = 18
num_flo = 1.8
num_new = num_int + num_flo
print("num_int의 데이터 유형:",type(num_int))
print("num_flo의 데이터 유형:",type(num_flo))
print("num_new의 값:",num_new)
print("num_new의 데이터 유형:",type(num_new))
위 코드의 출력은 다음과 같습니다.
num_int의 데이터 유형: <class 'int'>
num_flo의 데이터 유형: <class 'float'>
num_new의 값: 19.8
num_new의 데이터 유형: <class 'float'>
보시다시피, 원하는 출력을 얻으려면 num_new와 함께 num_flo 및 num_int를 추가하기만 하면 됩니다. 몇 줄의 코드를 통해 정수 18을 부동 소수점 19.8로 변환했습니다. 여기서 주목해야 할 중요한 점은 Python이 정수를 자동으로 float로 변환했다는 것입니다.

명백한
명시적 유형 변환의 경우 변환 목적으로 함수를 사용합니다. 앞에서 언급한 내장 함수를 기억하십니까? 이 섹션에서 유용할 것입니다. 명시적 유형 변환의 또 다른 이름은 유형 캐스팅입니다. 사용자가 관련 개체의 데이터 유형을 캐스팅하기 때문에 이 이름이 있습니다.
파이썬에서 타입캐스팅을 수행하기 위해 익숙해야 하는 몇 가지 타입 변환 함수가 있습니다. Int(a,base)는 모든 데이터 유형을 정수로 변환할 수 있으므로 널리 사용되는 함수입니다. float()는 모든 데이터 유형을 부동 소수점 숫자로 변환할 수 있습니다. oct()는 정수를 8진수 문자열로 변환하고 hex()는 정수를 16진수 문자열로 변환합니다.
다음은 oct()를 사용한 유형 변환의 예입니다.
c = 10월(80)
인쇄("출력: ",end="")
인쇄 (c)
출력은 다음과 같습니다.
출력 : 0o120
이러한 함수로 작업할 때 이러한 변환 구문은 다음과 같아야 합니다.
(desired_datatype)(표현식)
Python에서 수행할 수 있는 유형 변환에는 여러 종류가 있습니다. 그러나 가장 많이 수행하게 될 두 가지 유형이 있습니다. 문자열을 정수로 또는 그 반대로 변환하는 것은 훌륭한 출발점이 될 수 있습니다. 따라서 이 주제에 대한 더 나은 이해를 위해 각 유형 변환에 대해 개별적으로 논의해 보겠습니다.
읽기: Python 개발자 프로젝트 아이디어 및 주제
문자열을 int 파이썬으로 변환
int() 함수를 통해 문자열을 int Python으로 변환할 수 있습니다. 클릭 한 번으로 10진수 정수를 제공합니다. 입력한 표현식이 10진수 정수라고 가정하지만 그렇지 않은 경우 ValueError를 반환합니다. 그리고 우리는 그것을 원하지 않습니다. 이 문제를 피하기 위해 값을 기준으로 하여 필요한 숫자 체계를 언급할 수 있습니다.
따라서 Python에서 문자열을 int로 변환하는 경우 다음을 수행할 수 있습니다.
정수("5")
또는 다른 종류의 문자열에 대한 기반을 추가할 수 있습니다.
int("5" , 밑수=10)
이제 이 변환의 역순, 즉 정수를 문자열로 변환해야 하는 경우에 대해 논의해 보겠습니다.
int를 문자열 파이썬으로 변환
str() 함수를 사용하여 정수를 문자열로 변환할 수 있습니다. 앞에서 언급한 구문을 따르세요.
str(5)
바이너리 리터럴을 사용하는 경우 문자열은 정수를 10진수 표현식으로 변환할 수 있습니다. 그러나 int 함수와 마찬가지로 필요한 경우 다른 변환에 대해 더 많은 정보를 추가할 수 있습니다. 이 함수를 사용하여 8진수, 2진수 및 16진수 결과를 얻을 수 있습니다.
약간의 연습 후에 유형 변환을 사용하여 더 복잡한 작업도 수행할 수 있습니다. 다음은 타입캐스팅을 통해 정수가 포함된 문자열을 추가하는 예입니다.
num_int = 256
num_str = "64"
print("num_int의 데이터 유형:",type(num_int))
print("타입 캐스팅 전 num_str의 데이터 타입:",type(num_str))
num_str = 정수(num_str)
print("타입 캐스팅 후 num_str의 데이터 타입:",type(num_str))
num_sum = num_int + num_str
print("num_int와 num_str의 합:",num_sum)
print("합계의 데이터 유형:",type(num_sum))
위 코드의 출력은 다음과 같습니다.
num_int의 데이터 유형: <class 'int'>
유형 변환 전의 num_str 데이터 유형: <class 'str'>
유형 캐스팅 후 num_str의 데이터 유형: <class 'int'>
num_int와 num_str의 합: 320
합계의 데이터 유형: <class 'int'>
보시다시피 아주 재미있습니다. 자유롭게 유형 변환을 실험하고 지식 기반을 확장하십시오.
결론
이 기사에서 많은 것을 배웠기를 바랍니다. 유형 변환을 수행하는 것은 Python의 기능으로 할 수 있는 많은 일 중 하나입니다.
이 기사를 읽고 있다면 아마도 Python 개발자가 되려는 야망이 있을 것입니다. 파이썬을 배우는 데 관심이 있고 다양한 도구와 라이브러리에 손을 대고 싶다면 IIIT-B의 데이터 과학 PG 디플로마를 확인하십시오.
코딩에서 명시적 변환은 암시적 변환과 어떻게 다릅니까?
암시적 유형 변환은 사용자가 정의하고 표현식이 특정 유형이 되도록 강제하는 유형 변환입니다. 여러 데이터 형식이 식에서 함께 결합되면 컴파일러는 암시적 형식 변환을 수행합니다. 캐스팅이라고도 하는 명시적 변환은 변환하려는 데이터 유형에 대해 적절한 함수를 실행하여 한 데이터 유형에서 다른 데이터 유형으로 명시적으로 변환하는 경우입니다. 프로그래머의 도움 없이 암시적 형식 변환이 수행됩니다.
타입 캐스팅은 타입 변환과 어떻게 다릅니까?
한 데이터 유형을 다른 데이터 유형으로 유형 캐스팅할 때 대상 데이터 유형은 소스 데이터 유형보다 작아야 합니다. 그러나 한 데이터 유형을 다른 데이터 유형으로 변환할 때 소스 데이터는 대상 데이터 유형보다 작아야 합니다. 프로그래머는 한 종류의 데이터를 다른 형식으로 수동으로 형식 캐스트해야 합니다. 컴파일러가 프로그램 실행 중에 자동으로 컴파일하기 때문에 한 데이터 유형을 다른 데이터 유형으로 변환하는 데 프로그래머 개입이 필요하지 않습니다. 유형 캐스팅 중에 데이터 또는 정보가 손실될 가능성이 있습니다. 작은 데이터 유형을 큰 데이터 유형으로 변환할 때 데이터가 손실될 가능성은 거의 없습니다.
파이썬 튜플과 목록 중 어느 것이 더 효율적입니까?
튜플은 쉼표로 구분된 Python 개체 모음이며 정적 특성으로 인해 튜플이 목록보다 빠릅니다. 튜플은 또한 목록보다 메모리 측면에서 더 효율적입니다. 시간 효율성과 관련하여 튜플은 특히 값을 조회할 때 목록보다 약간 유리합니다. 처음부터 변경되어서는 안 되는 데이터가 있는 경우 목록보다 튜플 데이터 유형을 선호해야 합니다. 튜플 목록을 만들 수 있습니다. 이는 튜플의 구성원이 목록으로 래핑될 수 있으므로 Python 목록과 동일한 특성을 따를 수 있음을 의미합니다. 파이썬 튜플은 공간을 덜 차지하기 때문에 튜플 목록을 구성하는 것이 더 실용적입니다.