Development Tip

++로 증가하는 파이썬 정수

yourdevel 2020. 9. 29. 18:49
반응형

++로 증가하는 파이썬 정수 [중복]


중복 가능성 :
Python : 증가 및 감소 연산자의 동작

VB6 시절을 돌아보며 "이중 더하기 기호로 증가하는 것을 허용하지 않는 현대 언어는 무엇입니까?"라고 생각했을 때 항상 웃었습니다.

number++

놀랍게도 파이썬 문서에서 이것에 대해 아무것도 찾을 수 없습니다. 나는 정말로 자신을 복종해야 number = number + 1합니까? 사람들이 ++/--표기법을 사용하지 않습니까?


Python은를 지원하지 ++않지만 다음을 수행 할 수 있습니다.

number += 1

간단히 넣어 ++그리고 --그들이하지 않을 것이기 때문에 운영자는 파이썬에 존재하지 않는 사업자 , 그들은 할 것 . Python의 모든 네임 스페이스 수정은 단순성과 일관성을위한 명령문입니다. 이것이 디자인 결정 중 하나입니다. 정수는 불변이기 때문에 변수를 '변경'하는 유일한 방법은 변수를 재 할당하는 것입니다.

다행히 우리의 사용 사례에 대한 훌륭한 도구가 ++--다른 언어, 같은에서 enumerate()itertools.count().


넌 할 수있어:

number += 1

예. ++운영자는 파이썬에서 사용할 수 없습니다. Guido는 이러한 연산자를 좋아하지 않습니다.


++가 C와 유사한 언어에서 유용한 주된 이유는 인덱스를 추적하기위한 것입니다. Python에서는 추상적 인 방식으로 데이터를 처리하고 인덱스 등을 통해 거의 증가하지 않습니다. 가장 가까운 것은 반복기 ++next방법입니다.


당신이 사용할 수있는:

number += 1

이것이 작동하지 않는 이유에 대한 설명은 Python에서 증가 및 감소 연산자의 동작을 참조 하십시오 .

파이썬에는 실제로 ++ 및-가 없으며 개인적으로 그렇게 손실되었다고 생각한 적이 없습니다.

나는 항상 명확한 의미론을 가진 연산자보다 명확한 이름을 가진 함수를 선호합니다 (따라서 ++ x 대 x ++에 대한 고전적인 인터뷰 질문과 오버로딩의 어려움). 나는 또한 포스트 증가가 가독성을 위해하는 일에 대한 열렬한 팬이 아닙니다.

항상 명확한 증가 의미 체계를 사용하여 일부 래퍼 클래스 (예 : accumulator)를 정의한 다음 x.increment () 또는 x.incrementAndReturnPrev ()와 같은 작업을 수행 할 수 있습니다.


여기에 설명이 있습니다 : http://bytes.com/topic/python/answers/444733-why-there-no-post-pre-increment-operator-python

그러나이 연산자의 부재는 파이썬 철학에서 일관성을 높이고 암시성을 피하는 것입니다.

또한 이러한 종류의 증분은 파이썬 코드에서 널리 사용되지 않습니다. 왜냐하면 파이썬은 반복기 패턴과 열거 함수를 강력하게 구현했기 때문입니다.

참고 URL : https://stackoverflow.com/questions/2632677/python-integer-incrementing-with

반응형