복붙노트

[PYTHON] 나누기에 사용할 때 '/'와 '//'의 차이점은 무엇입니까?

PYTHON

나누기에 사용할 때 '/'와 '//'의 차이점은 무엇입니까?

하나를 다른 것에 사용하면 이점이 있습니까? 파이썬 2에서는 둘 다 똑같은 결과를 반환합니다.

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

해결법

  1. ==============================

    1.파이썬 3.0에서는 5 / 2가 2.5를 반환하고 5 / 2가 2를 반환합니다. 전자는 부동 소수점 나누기이고, 후자는 바닥 나누기이며 정수 나누기라고도합니다.

    파이썬 3.0에서는 5 / 2가 2.5를 반환하고 5 / 2가 2를 반환합니다. 전자는 부동 소수점 나누기이고, 후자는 바닥 나누기이며 정수 나누기라고도합니다.

    2.x 라인의 Python 2.2 또는 이후 버전에서는 __future__ import division을 수행하지 않는 한 정수에는 차이가 없습니다. 이로 인해 Python 2.x는 3.0의 비헤이비어를 채택합니다

    향후 가져 오기에 관계없이 5.0 / 2는 작업의 바닥 나누기 결과이므로 2.0을 반환합니다.

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

  2. ==============================

    2.파이썬 2.x 라인을 명확히하는 데 도움이된다. /는 플로어 나누기 나 실제 나누기가 아니다. 현재 받아 들여진 답변은 이에 대해 명확하지 않습니다. /는 두 arg가 모두 int 일 때 floor division이지만, args 중 하나 또는 둘 모두가 float 일 때 true division입니다.

    파이썬 2.x 라인을 명확히하는 데 도움이된다. /는 플로어 나누기 나 실제 나누기가 아니다. 현재 받아 들여진 답변은 이에 대해 명확하지 않습니다. /는 두 arg가 모두 int 일 때 floor division이지만, args 중 하나 또는 둘 모두가 float 일 때 true division입니다.

    위의 내용은 더 많은 진실을 말하고, 수용된 대답의 두 번째 단락보다 훨씬 더 명확합니다.

  3. ==============================

    3.// 유형에 관계없이 "floor division"을 구현합니다. 그래서 1.0 / 2.0에서는 0.5가되지만 1/2, 1 // 2 및 1.0 // 2.0에서는 0이됩니다.

    // 유형에 관계없이 "floor division"을 구현합니다. 그래서 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를 참조하십시오.

  4. ==============================

    4./ -> 부동 소수점 나누기

    / -> 부동 소수점 나누기

    // -> 층 구분

    파이썬 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
    

    이제 (파이썬 2.7에서) 파이썬 3.5에서와 같은 출력을 원한다면 다음을 할 수 있습니다 :

    파이썬 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
    
  5. ==============================

    5.모두가 이미 대답 했으므로 //은 층 분리입니다.

    모두가 이미 대답 했으므로 //은 층 분리입니다.

    중요한 이유는 Python 3.x 버전을 포함하여 2.2의 모든 Python 버전에서 명확하게 바닥 분할이된다는 것입니다.

    /의 동작은 다음에 따라 달라질 수 있습니다.

  6. ==============================

    6.

    >>> print 5.0 / 2
    2.5
    
    >>> print 5.0 // 2
    2.0
    
  7. ==============================

    7.**

    **

    ** / 부문 오른손 피연산자로 왼손 피연산자를 나눕니다. 전의:: 4 / 2 = 2

    Floor Division (//) - 소수점 이하 자릿수가 제거 된 몫인 결과 인 피연산자의 나눗셈입니다. 그러나 피연산자 중 하나가 음수이면 결과는 바닥에 표시됩니다 (즉, 0부터 반올림 됨). 예 : 9 // 2 = 4 및 9.0 // 2.0 = 4.0, -11 // 3 = -4, -11.0 // 3 = -4.0

    / Division 및 // Floor Division Operator 모두 유사한 방식으로 작동합니다.

  8. ==============================

    8.이중 슬래시 (//)는 바닥 구분입니다.

    이중 슬래시 (//)는 바닥 구분입니다.

    >>> 7//3
    2
    
  9. ==============================

    9.방정식의 답은 다음 더 작은 정수로 반올림되거나 소수점으로 .0으로 부동됩니다.

    방정식의 답은 다음 더 작은 정수로 반올림되거나 소수점으로 .0으로 부동됩니다.

    >>>print 5//2
    2
    >>> print 5.0//2
    2.0
    >>>print 5//2.0
    2.0
    >>>print 5.0//2.0
    2.0
    
  10. ==============================

    10.//는 바닥 구분이며, 항상 결과의 정수 바닥을 제공합니다. 다른 하나는 '정규'부서입니다.

    //는 바닥 구분이며, 항상 결과의 정수 바닥을 제공합니다. 다른 하나는 '정규'부서입니다.

  11. ==============================

    11.5.0 // 2는 2.0에서 발생하지만, // 연산자의 반환 값 유형이 파이썬 강제 변환 (형식 변환) 규칙을 따르므로 2가 아닙니다.

    5.0 // 2는 2.0에서 발생하지만, // 연산자의 반환 값 유형이 파이썬 강제 변환 (형식 변환) 규칙을 따르므로 2가 아닙니다.

    파이썬은 데이터 손실을 피하기 위해 낮은 데이터 유형 (정수)에서 높은 데이터 유형 (부동)으로의 변환을 촉진합니다.

  12. from https://stackoverflow.com/questions/183853/what-is-the-difference-between-and-when-used-for-division by cc-by-sa and MIT license