다른 것을 사용하면 이점이 있습니까? 파이썬 2에서는 둘 다 동일한 결과를 반환하는 것 같습니다.
>>> 6/3
2
>>> 6//3
2
답변
파이썬 3.x의에서, 5 / 2
반환 2.5
및 5 // 2
반환합니다 2
. 전자는 부동 소수점 나누기이고 후자는 플로어 나누기 이며 때로는 정수 나누기 라고도 합니다 .
2.x 행의 Python 2.2 이상에서는을 수행하지 않으면 정수에 차이가 없으므로 from __future__ import division
Python 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 = 4
와 9.0//2.0 = 4.0
, -11//3 = -4
,-11.0//3 = -4.0
두 /
부문 및 //
바닥 나누기 연산자는 비슷한 방식으로 운영된다.