둘 중 하나를 사용하면 어떤 이점이 있나요? 파이썬 2에서는 둘 다 동일한 결과를 반환하는 것 같습니다:
>>> 6/3
2
>>> 6//3
2
파이썬 3.0 에서 5 / / / 2 ',' 5 '와' 2 '' 2.5 반환되므로 반환되므로 '2'. 전 는 부동 소수점 사단, 그리고 후자는 바닥 사단, 때로는 eschweiler-clarke 정수 불린다.
파이썬 2.2 에서 2.x 선 이상 차이가 없으며, 사단 '의 정수를 위한 수행하는 경우가 아니라면 future 가져오기의. 이로 인해 파이썬 3.0' 을 채택키로 비헤이비어에 2.x
/ / 2 ',' 미래의 가져오기의 상관없이 5.0 이후 반환되므로 '2.0' 의 바닥 that& # 39 사단 작업 결과.
자세한 내용은 https://docs.python.org/whatsnew/2.2.html # pep 238 변경됩니까 사단은 작동자 emc. 수 있습니다.
> / -; 부동 소수점 사단
> // -; 바닥 사단
모두 볼 수 있는 몇 가지 예를 들면 파이썬 및 파이썬 2.7 3.5.
print (2/3) ----> 0 Python 2.7
print (2/3) ----> 0.6666666666666666 Python 3.5
print (4/2) ----> 2 Python 2.7
print (4/2) ----> 2.0 Python 3.5
파이썬 (python 의 2.7) 과 동일한 출력을 할 경우 지금 3.5 다음과 같이 할 수 있습니다.
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
파이썬 2.7 및 기타 새로운 버전의 파이썬.
오른쪽 피연산자를 분할합니다 의해 왼쪽 피연산자
예: '4 / 2 = 2'
따라서 임의의 위치에 있는 자리 피연산자로 분단 이후 소수점 제거됩니다. 하지만, 그 결과, 즉, 이 중 하나가 피연산자로 제외어 낭패 라운드된 멀리 영 (향해 음의 무한대):
예를 들면 다음과 같다: '4' 와 '9.0//2.0 9//2 = = = = 4.0 -11//3 -11.0//3 - 4.0' 4 ',' - ','
'부' 바닥 '/ / /' 모두 Division) 과 유사한 방식으로 작동자 운항하고 있다.
이 질문에 답을 알 수 있는 장점을 뿐만 아니라 내아기마저도 / /.
대부분의 거짓말엔, 파이썬 합니다 (/ /) 에 대한 층 사단 연산자입니다 사용하고 있는 것을 알고 있다. # 39 층 되돌려줍니다 don& 모르는 분들을 위해, 이 연산자에서, 후에 값을 불린다. 예를 들면 다음과 같습니다. 하지만 5 / 2 = 2.5 5 / / 2 = 2 (2 층 값이 2.5 는)
그러나 일반적으로 숫자에 대해서는 10 개 이상의 ^ 17 사단 연산자입니다 비정상적으로 동작합니다.
x = 10000000000000000000006
if x / 2 == x // 2:
print("Hello")
else:
print("World")
위 코드를 인쇄할 처리됐구나 아니라 세계 10000000000000000000006 / 10000000000000000000006 / / 하지만, 이 때문에 2 반환되므로 5e + 21 정답이 2 반환되므로 5000000000000000000003. 심지어 int (10000000000000000000006 / 2) 반환되므로 5 000 000 000 000 000 000 000, 이는 틀린 말이다.
이에 따라 많은 수의 경우에도 나눌 / / 연산자입니다 사용합니다.
예를 들면 다음과 같습니다. 혹시 찾는 경우 첫 번째 숫자, 화학식: 100000000000000000000000010002 n (n + 1) /2 (/) 라고 하지만, 일반 사단 연산자입니다 부여하느뇨 잘못된 있습니다 / / 작동자 부여하느뇨 너회가 정답.
위의 대답이 좋다. I want to add 다른 점. 그 결과 일부 값을 최대 모두 동일한 몫. 그 후 바닥 사단 작동자 ('/ /') 가 아닌 사단 ('/') 연산자입니다 작동합니다.
- > int(755349677599789174/2)
- > 377674838799894592 #wrong answer
- > 755349677599789174 //2
- > 377674838799894587 #correct answer
다음 구문에 오른길로 차이 ',' / '와' / / 나는 이러한 Python 의 산술 연산을 실행하십시오 3.7.2
"' > > >;; 보기인쇄 (11 / 3) 3.6666666666666665
> > >;; 보기인쇄 (11 / / 3) 3
> > >;; 보기인쇄 (11.3 / 3) 3.7666666666666667
> > >;; 보기인쇄 (11.3 / / 3) 3.0 "'
'결과' 2 '가 아니라' 5.0//2 '2.0' 의 '/ /' 에서 반환 값 때문에 반환 유형 (type 캐스팅) 작동자 inet6.0 파이썬 강제 규칙요.
Python 은 변환되게 낮은 데이터 형식 (정수) 보다 높은 데이터 형식 (float) 데이터 손실을 방지할 수 있습니다.