기본 콘텐츠로 건너뛰기

[python] 나누기 연산, 'divmod', '//'

python 3 사용하면서 나누기 관련하여 변경된 것이 있구만...

1.divmod(x, y) - x를 y로 정수형 나누기 연산을 수행 했을때, 몫(div)과 나머지(mod)를 '(div, mod)' 형태로 결과 전달
2. '//' 정수 나누기 연산자
3. '/' python2에서는 항목에 따라 정수 연산, 실수 연산를 수행하여 결과를 반환했으나,
 python3 로 오면서 실수형 연산 결과를 전달 받은 형에 맞게 반환

먼저  python 2.7.10(osx)  에서 실행 결과

>>> 9 / 4
2
>>> 9 // 4
2
>>> 9.0 / 4.0
2.25
>>> 9.0 // 4.0
2.0
>>> divmod(9, 4)
(2, 1)
>>> a, b = divmod(9, 4)
>>> a
2
>>> b
1

다음  python 3.5.0(osx)  에서 실행 결과

>>> 9/4
2.25
>>> 9//4
2
>>> 9.0 / 4.0
2.25
>>> 9.0 / 4
2.25
>>> 9.0 // 4.0
2.0
>>> divmod(9.0, 4.0)
(2.0, 1.0)
>>> divmod(9, 4)
(2, 1)
>>> a, b = divmod(9, 4)
>>> a
2
>>> b
1


댓글