반응형
질문
파이썬에는 왜 ++
및 --
연산자가 없는 것인가요?
답변
그것은 이해가 안 되는 것이 아니라 "x++"를 "x += 1로 정의하고, x의 이전 바인딩으로 평가한다"는 것이 완전히 이해됩니다.
원래 이유를 알고 싶다면 옛날 파이썬 메일링 리스트를 살펴보거나 그곳에 있던 사람(예: Guido)에게 물어봐야하지만, 사실 이후에는 충분히 정당화할 수 있습니다:
간단한 증가 및 감소는 다른 언어보다 그렇게 많이 필요하지 않습니다. 파이썬에서는 for(int i = 0; i < 10; ++i)
과 같은 것을 많이 사용하지 않고, 대신 for i in range(0, 10)
과 같은 것을 사용합니다.
거의 필요하지 않기 때문에 이를 위해 특별한 구문을 제공하는 것에 대한 이유가 훨씬 적습니다. 증가가 필요한 경우 대부분 +=
가 충분합니다.
이것은 그것이 의미가 있는지, 가능한지에 대한 결정이 아닙니다. 그것은 가능하고 할 수 있습니다. 이것은 언어의 핵심 구문에 추가하는 이득이 가치가 있는지에 대한 질문입니다. 기억하세요, 이것은 4개의 연산자입니다 - 후위증가, 후위감소, 전위증가, 전위감소. 각각의 연산자에 대한 클래스 오버로드가 필요합니다. 이들은 모두 지정되고 테스트되어야합니다. 이것은 언어에 옵코드를 추가하게 됩니다(더 크고, 따라서 느린 VM 엔진을 의미합니다). 논리적인 증가를 지원하는 모든 클래스는 +=
와 -=
위에 이를 구현해야합니다.
이 모든 것은 +=
와 -=
와 중복되기 때문에 순수한 손해가 될 것입니다.
반응형
댓글