// 연산자 문의드립니다.
, 김 만재님이 작성책에서는 // 연산자 사용시 실수(float)가 나온다고 작성되어있습니다. 하지만 파이썬 쉘과 명령프롬프트 둘다 확인시 정수로 나오는데.. 뭐가 맞는건가요..? 바로 뒤에 나오는 type을 사용해서 type(5//2)을 코딩해봐도 int라고 출력됩니다.
Re: // 연산자 문의드립니다.
, 도장_ 관리자님이 작성UNIT 5.1.2를 보면 다음과 같이 설명되어 있습니다.
//은 버림 나눗셈(floor division)이라고 부르며 나눗셈의 결과에서 소수점 이하는 버립니다.
참고로 실수에 // 연산자를 사용하면 결과는 실수가 나오며 소수점 이하는 버립니다. 따라서 결과는 항상 .0으로 끝납니다.
버림 나눗셈은 피제수의 타입을 따라갑니다. 피제수의 타입이 int이면 결과가 int로 나오고, float이면 float로 나옵니다.
다음과 같이 간단한 실험으로 확인할 수 있습니다.
>>> type(5)
<class 'int'>
>>> a = 5 // 2
>>> a
2
>>> type(a)
<class 'int'>
>>> type(5.5)
<class 'float'>
>>> b = 5.5 // 2
>>> b
2.0
>>> type(b)
<class 'float'>
>>>