본문 바로가기
Python/Python FAQ

Python 파이썬에서 ++와 -- 연산자가 없는 이유는 무엇인가요?, Why are there no ++ and --​ operators in Python?

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

질문


파이썬에는 왜 ++-- 연산자가 없는 것인가요?


답변


그것은 이해가 안 되는 것이 아니라 "x++"를 "x += 1로 정의하고, x의 이전 바인딩으로 평가한다"는 것이 완전히 이해됩니다.

원래 이유를 알고 싶다면 옛날 파이썬 메일링 리스트를 살펴보거나 그곳에 있던 사람(예: Guido)에게 물어봐야하지만, 사실 이후에는 충분히 정당화할 수 있습니다:

간단한 증가 및 감소는 다른 언어보다 그렇게 많이 필요하지 않습니다. 파이썬에서는 for(int i = 0; i < 10; ++i)과 같은 것을 많이 사용하지 않고, 대신 for i in range(0, 10)과 같은 것을 사용합니다.

거의 필요하지 않기 때문에 이를 위해 특별한 구문을 제공하는 것에 대한 이유가 훨씬 적습니다. 증가가 필요한 경우 대부분 +=가 충분합니다.

이것은 그것이 의미가 있는지, 가능한지에 대한 결정이 아닙니다. 그것은 가능하고 할 수 있습니다. 이것은 언어의 핵심 구문에 추가하는 이득이 가치가 있는지에 대한 질문입니다. 기억하세요, 이것은 4개의 연산자입니다 - 후위증가, 후위감소, 전위증가, 전위감소. 각각의 연산자에 대한 클래스 오버로드가 필요합니다. 이들은 모두 지정되고 테스트되어야합니다. 이것은 언어에 옵코드를 추가하게 됩니다(더 크고, 따라서 느린 VM 엔진을 의미합니다). 논리적인 증가를 지원하는 모든 클래스는 +=-= 위에 이를 구현해야합니다.

이 모든 것은 +=-=와 중복되기 때문에 순수한 손해가 될 것입니다.

반응형

댓글