본문 바로가기
방구석코딩/파이썬 기초문법

파이썬 변수 유형, int 함수 변환 (문자열, 실수, 부울)

by 석세상 2023. 6. 14.
반응형

파이썬 변수 유형 변환 int 함수에 대해서 알아보도록 하겠습니다.

파이썬 int 함수 활용법

 

int() 함수

int 함수를 이용해서 변수 유형을 정수 형태로 변환하기 위해서 사용되는 함수인데요. 함수에 대한 정의와 사용법에 대해 알아보고 예제를 통해 설명합니다.

 

int 함수 문자열 → 숫자 변환

int 함수를 이용하여 문자 형태의 값을 숫자 형태로 변환할 수 있습니다.

age = "25"
age_integer = int(age)
print(age_integer)

이 예제에는 값 "25"를 저장하는 "age"라는 문자열 변수가 있습니다. int() 함수는 이 문자열을 정수로 변환하고 변수 "age_integer"에 할당하는 데 사용됩니다.

 

"age_integer" 값을 인쇄하면 출력은 다음과 같습니다.

25

int()를 사용하여 문자열 "25"를 해당 정수 값으로 성공적으로 변환했습니다. 결과를 보면 눈에 보이는 것에는 큰 차이가 없지만 컴퓨터가 생각하는 건 문자를 숫자로 인식하게 됩니다.

 

int 함수 실수 → 정수 변환

int 함수를 이용하여 실수를 정수로 변환할 수 있습니다.

price = 9.99
price_integer = int(price)
print(price_integer)

 

이 예제에는 값 9.99를 저장하는 "price"라는 float 변수가 있습니다. int() 함수는 이 float를 정수로 변환하고 "price_integer" 변수에 할당하는 데 사용됩니다. "price_integer" 값을 인쇄하면 출력은 다음과 같습니다.

9

int() 함수 결과는 다음과 같이 소수 부분을 제외하고 정수만 남게 됩니다. 따라서 특별하게 소수 부분을 출력하고 싶지 않아야 하는 상황이 아니라면 사용에 있어 주의해야 합니다.

 

위치에 따른 결과 차이

아래 예제를 통해 좀 더 확실하게 비교해 보자면, 다음과 같이 a1과 a2의 값을 이용해서 연산 했을 떄 int 함수의 위치에 따라 결과값이 바뀔 수 있습니다.

그렇다면 아래와 같이 4가지 출력에 대한 결과는 어떻게 될까요?

a1 = 9.99
a2 = 1.1

print(a1)
print(int(a1))
print(int(a1) + int(a2))
print(int(a1 + a2))

 

출력 결과

9.99
9
10
11

결과를 보면 a1을 출력하면 9.99, 2번째 int 함수에 a1을 넣으면 9가 출력됩니다. 여기서 중요한건 3번째 줄과 4번째 줄의 결과인데요.

 

세번째 줄에서는 a1과 a2를 더하기 전에 각각 int 함수를 적용했습니다. 따라서 9와 1의 합의 결과로 10이 출력됩니다.

 

하지만 4번째 줄을 본다면 9.99와 1.1의 합을 먼저 실행해서 11.09라는 값에 int 함수를 적용했기 때문에 11이라는 결과가 나왔습니다.

 

이렇게 int 함수를 어느 위치에 적용하느냐에 따라 결과값이 달라질 수 있기 때문에 일반적인 상황이라면 소수에 int 함수를 적용하는 것은 원하는 결과와 다른 값이 출력될 수 있습니다.

 

부울을 정수로 변환

다음을 부울을 정수로 변환하는 방법입니다. 여기서 부울이란 참, 거짓을 표현하는 변수 유형입니다. 참인 경우는 true를, 거짓인 경우는 false로 나타냅니다.

is_true = True
is_false = False

true_integer = int(is_true)
false_integer = int(is_false)

print(true_integer)
print(false_integer)

이 예제에는 각각 True 및 False 값을 저장하는 부울 변수 "is_true" 와 "is_false"가 있습니다.

 

"is_true" 와 "is_false"는 변수명이고, "is_true" 안에는 True라는 값이 들어있고, "is_false"에는 False라는 값이 들어있습니다.

 

여기에 int 함수를 적용한 "true_integer" 및 "false_integer" 값을 인쇄하면 출력은 다음과 같습니다.

1
0

int() 함수는 True인 경우 1로 표시하며, False인 경우는 0으로 변환합니다. 따라서 true_integer 변수의 결과는 1로 표시되고, false_integer 변수의 결과는 0으로 나타나는 것을 볼 수 있습니다.

 

여기서 주의해야 할 점은 int()를 사용하여 문자열을 변환할 때 문자열이 유효한 정수를 나타내야 합니다. 그렇지 않으면 ValueError가 발생합니다. 예를 들어 int("abc")는 "abc"가 유효한 정수 표현이 아니므로 오류를 발생시킵니다.

728x90
반응형

댓글