저번 글에서 자료형에 대해서 알아보았습니다. 이번 글에서는 변수의 자료형을 변환하는 방법을 알아볼 것입니다.
파이썬의 형 변환에는 두 가지 종류가 있습니다. 컴퓨터에 저장된 데이터를 기준으로 보았을 때 하나는 저장된 데이터가 바뀌는 형 변환이고 다른 하나는 바뀌지 않는 형 변환입니다. 예를 들어 설명을 해 보자면 문자열 "1"이 있다고 할 때 컴퓨터에는 아스키코드에 따라 이진수로 0011 0000(십진수로 48)이 저장되어 있을 것입니다. 이를 첫 번째 형 변환을 이용해서 정수로 바꾸게 된다면 정수 1이 될 것이고 컴퓨터에 저장된 데이터는 0000 0001로 변하게 됩니다. 하지만 두 번째 형 변환을 이용한다면 컴퓨터에 저장된 데이터는 변하지 않고 변수형은 정수로 바뀌고 변수의 값은 48이 됩니다.
편의를 위해 첫 번째 형 변환 방식을 사람을 기준으로 한 형 변환 두 번째 형 변환을 컴퓨터가 기준인 형 변환이라고 부르도록 하겠습니다.
변수의 형 변환
사람을 기준으로 한 형 변환
int()
데이터를 정수형으로 변환해 줍니다.
str형은 숫자로만 이루어진 문자열만 변환이 가능합니다. (ex "123", "46245" 등)
bool형은 True -> 1 False -> 0으로 변환해 줍니다.
flaot형은 소수점 아래의 수를 모두 없애버립니다.
realNumber = 3.14159265358979
print(int(realNumber)) #3
string = "2834"
print(int(string)) #2834
boolean = True
print(int(boolean)) #1
boolean = False
print(int(boolean)) #0
float()
데이터를 실수형으로 변환해 줍니다. 값이 정수라면 .0이 같이 출력됩니다.
str형은 숫자로만 이루어진 문자열만 변환이 가능합니다. (ex "12.3", "462.45" 등)
bool형은 True -> 1.0 False -> 0.0으로 변환해 줍니다.
int형은 소수점에 0이 붙어 실수형인 것을 알 수 있습니다. . (ex 2 -> 2.0)
integer = 1
print(float(integer)) #1.0
string = "283.4"
print(float(string)) #283.4
boolean = True
print(float(boolean)) #1.0
boolean = False
print(float(boolean)) #0.0
str()
데이터를 문자열로 변환해 줍니다.
bool형은 True -> True False -> False로 변환해 줍니다.
int형과 flaot형은 특별히 바뀌지 않고 그대로 출력됩니다. 하지만 type을 확인해보면 str이라는 것을 알 수 있습니다.
integer = 1
integer = str(integer)
print(integer) #1
print(type(integer)) #<class 'str'>
realNumber = 283.4
realNumber = str(realNumber)
print(realNumber) #283.4
print(type(realNumber)) #<class 'str'>
boolean = True
print(str(boolean)) #True
boolean = False
print(str(boolean)) #False
bool()
데이터를 bool형으로 변환해 줍니다.
str은 아무런 값이 없다면 False 어떠한 값이라도 있다면 True가 됩니다.
float형이나 int형은 값이 0이면 Flase 나머지는 모두 True가 됩니다.
integer = 1
print(bool(integer)) #True
integer = 0
print(bool(integer)) #False
realNumber = 283.4
print(bool(realNumber)) #True
realNumber = 0.0
print(bool(realNumber)) #False
emptyString = ""
print(bool(emptyString)) #False
string = "hi"
print(bool(string)) #True
컴퓨터를 기준으로 한 형 변환
ord()
문자를 대응하는 유니코드의 정수로 바꾸어 나타내 줍니다.
따라서 저장된 데이터는 바뀌지 않습니다.
단 문자 하나만 저장되어 있어야 변환이 가능합니다. (ex "A"가능 "hello" 불가능)
(한 글자를 문자 character 여러 글자를 문자열 string 이라고 부릅니다).
character = "A"
print(ord(character)) #65
character = "ㄱ"
print(ord(character)) #12593
참고 스킬
ord를 이용하면 쉽게 대문자인지 판단할 수 있습니다. (조건문을 모르시면 건너 뛰세요)
character = "A"
if ord(character) >= 65 and ord(character) <= 90: #A:65 Z:90
print("Uppercase")
elif ord(character) >= 97 and ord(character) <= 122: #a:97 z:122
print("Lowercase")
char()
정수를 대응하는 문자로 바꾸어 표현해 줍니다.
실수는 안되며 정수만 가능합니다.
number = 65
print(chr(number)) #A
number = 12593
print(chr(number)) #ㄱ
참고 스킬
chr 와 ord 를 사용하여 A부터 Z까지 출력하기 (반복문을 모르신다면 넘어가도 좋습니다.)
character = "A"
for i in range(0,26):
print(character)
character = chr(ord(character) + 1)
이번 글에서는 변수의 형 변환 방법에 대해서 알아보았습니다. 다음 글에서는 파이썬의 연산자에 대해 알아보도록 하겠습니다.
'python' 카테고리의 다른 글
<누구나 쉽게 배우는 파이썬> 조건문 (0) | 2022.06.13 |
---|---|
<누구나 쉽게 배우는 파이썬> 자료형 (0) | 2022.06.11 |
<누구나 쉽게 배우는 파이썬> 연산자 (0) | 2022.05.31 |
<누구나 쉽게 배우는 파이썬> 파이썬 설치하기 (0) | 2022.05.27 |
<누구나 쉽게 배우는 파이썬> 자료의 저장 변수 (0) | 2022.05.27 |