[python] 나누기에 사용될 때 ‘/’와 ‘//’의 차이점은 무엇입니까?

다른 것을 사용하면 이점이 있습니까? 파이썬 2에서는 둘 다 동일한 결과를 반환하는 것 같습니다.

>>> 6/3
2
>>> 6//3
2



답변

파이썬 3.x의에서, 5 / 2반환 2.55 // 2반환합니다 2. 전자는 부동 소수점 나누기이고 후자는 플로어 나누기 이며 때로는 정수 나누기 라고도 합니다 .

2.x 행의 Python 2.2 이상에서는을 수행하지 않으면 정수에 차이가 없으므로 from __future__ import divisionPython 2.x가 3.x 동작을 채택합니다.

향후 수입에 관계없이 운영의 층 분할 결과이기 때문에 5.0 // 2반환 2.0됩니다.

자세한 설명은 https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator 에서 확인할 수 있습니다.


답변

파이썬 2.x 설명 :

Python 2.x 라인을 명확히하기 위해 /바닥 나눗셈이나 진정한 나눗셈이 아닙니다. 현재 받아 들여진 대답은 명확하지 않습니다.

/때 바닥 부문은 모두 인수는 int하지만, 사실 사업부입니다 중 하나 또는 둘 모두 인수의가 있습니다 float.

위의 내용은 더 많은 진실을 말하고 받아 들여진 대답의 두 번째 단락보다 명확합니다.


답변

//유형에 관계없이 “바닥 구분”을 구현합니다. 그래서
1.0/2.0줄 것이다 0.5, 그러나 모두 1/2, 1//2그리고 1.0//2.0줄 것이다 0.

자세한 내용은 https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator 를 참조하십시오.


답변

/ -> 부동 소수점 나누기

// -> 층 구분

파이썬 2.7과 파이썬 3.5 둘 다에서 몇 가지 예를 봅시다.

파이썬 2.7.10 대 파이썬 3.5

print (2/3)  ----> 0                   Python 2.7
print (2/3)  ----> 0.6666666666666666  Python 3.5

파이썬 2.7.10 대 파이썬 3.5

  print (4/2)  ----> 2         Python 2.7
  print (4/2)  ----> 2.0       Python 3.5

이제 python 3.5에서와 동일한 출력을 원한다면 (파이썬 2.7에서) 다음을 수행 할 수 있습니다.

파이썬 2.7.10

from __future__ import division
print (2/3)  ----> 0.6666666666666666   #Python 2.7
print (4/2)  ----> 2.0                  #Python 2.7

파이썬 2.7과 파이썬 3.5에서 바닥 구분 사이에 차이가없는 곳

138.93//3 ---> 46.0        #Python 2.7
138.93//3 ---> 46.0        #Python 3.5
4//3      ---> 1           #Python 2.7
4//3      ---> 1           #Python 3.5


답변

모두가 이미 대답했듯이 //바닥 구분입니다.

이것이 중요한 이유는 //Python 3.x 버전을 포함하여 2.2의 모든 Python 버전에서 분명하게 구분되어 있기 때문 입니다.

의 동작은 /다음에 따라 변경 될 수 있습니다.

  • 활성 __future__가져 오기 여부 (모듈 로컬)
  • Python 명령 행 옵션 -Q old또는-Q new

답변

>>> print 5.0 / 2
2.5

>>> print 5.0 // 2
2.0


답변

파이썬 2.7과 다가오는 파이썬 버전 :

  • 구분 ( /)

왼쪽 피연산자를 오른쪽 피연산자로 나눕니다.

예: 4 / 2 = 2

  • 플로어 디비전 ( //)

결과가 소수점 이하의 숫자가 제거되는 몫인 피연산자의 나눗셈입니다. 그러나 피연산자 중 하나가 음수이면 결과는 바닥입니다. 즉, 0에서 반올림됩니다 (음의 무한대로).

예 : 9//2 = 49.0//2.0 = 4.0, -11//3 = -4,-11.0//3 = -4.0

/부문 및 //바닥 나누기 연산자는 비슷한 방식으로 운영된다.