본문 바로가기
Python/Python FAQ

'//'가 Python에서 사용되는 이유는 무엇인가요? [중복], What is the reason for having '//' in Python? [duplicate]

by 베타코드 2023. 10. 26.
반응형

질문


나는 누군가의 코드에서 이것을 보았습니다:

y = img_index // num_images

여기서 img_index는 실행 중인 인덱스이고 num_images는 3입니다.

//IPython에서 실험해보면, 두 개의 슬래시가 디비전 기호(즉, 하나의 슬래시)와 똑같이 작동하는 것처럼 보입니다. 그래서 두 개의 슬래시를 사용하는 이유가 있는지 궁금했습니다.


답변


파이썬 3에서는 / 연산자가 부동 소수점 나눗셈을 수행하고, // 연산자가 정수 나눗셈(나머지 없는 몫)을 수행하도록 변경되었습니다. 반면에 파이썬 2에서는 / 연산자가 이미 부동 소수점 숫자인 피연산자 중 하나라면 정수 나눗셈을 수행하였습니다.

파이썬 2.X에서:

>>> 10/3
3
>>> # 정수 나눗셈에서 부동 소수점 수를 얻으려면:
>>> 10.0/3
3.3333333333333335
>>> float(10)/3
3.3333333333333335

파이썬 3에서:

>>> 10/3
3.3333333333333335
>>> 10//3
3

자세한 내용은 PEP238을 참조하세요.

반응형

댓글