Python

[Python/파이썬] Python2과 Python3 버전별 나눗셈 차이점

Darane 2020. 5. 31. 19:50

Python2와 Python3 버전 별로 정수형 데이터를 나눗셈했을 때 나눗셈 결과에 차이가 있다.

 

Python2 버전에서 정수끼리 나누면 결과는 정수형 데이터가 나오고

Python3 버전에서 정수끼리 나누게 되면 결과는 실수형 데이터가 나온다.

 

버전 차이에 따라 정수 나눗셈의 결과 데이터 타입이 다르게 때문에 버전별 차이를 고려하지 않고 소스를 구현한다면 논리적 오류가 발생할 수 있다. 프로그램의 결과가 생각과 다른 값이 나올 수 있다.

 

 

 

 

 

 

 

Python 2

나눗셈의 결과가 정수(1)로 나온 것을 볼 수 있고 type() 함수를 이용하여 나눗셈 결과의 타입을 보면 'int' 정수형 데이터 타입인 것을 볼 수 있다.

print(6 / 5)
print(type(6 / 5))

#결과
1
<type 'int'>

 

Python 3

나눗셈의 결과가 실수(1.2)로 나오고 type이 'float' 실수형 데이터 타입인 것을 볼 수 있다.

print(6 / 5)
print(type(6 / 5))

#결과
1.2
<class 'float'>

 

정수와 실수 나눗셈의 결과는 버전별로 차이가 없다.

Python 2

print(6 / 5.0)
print(type(6 / 5.0))

#결과
1.2
<type 'float'>

 

Python 3

print(6 / 5.0)
print(type(6 / 5.0))

#결과
1.2
<class 'float'>

 

from __future__ import division

Python2 의 정수의 나눗셈의 결과를 Python3와 동일하게 실수형 데이터로 얻고 싶으면 아래 예제와 같이 모듈을 import 하면 된다.

from __future__ import division

print(6 / 5)
print(type(6 / 5))

#결과
1.2
<class 'float'>

 

 

 

[Python/파이썬] 숫자(Numbers) 데이터형식과 연산 기초 - 1

Python(파이썬)은 타입추론을 지원하는 언어로 타입에 대한 키워드를 쓰지 않고 변수명에 데이터를 할당(Assign)하기만 하면 된다. 변수의 타입은 컴파일타임(Compile time)이 아닌 런타임(Runtime)에 결��

3edc.tistory.com

 

반응형