Python에서 연산자 표기 자체를 변경할 수 없는 이유
Python을 비롯한 대부분의 주류 프로그래밍 언어에서는 연산자의 모양, 즉 문법적인 표기 자체를 변경하는 것이 불가능합니다.
예를 들어 다음과 같은 코드를 작성하고 싶다고 가정해 보겠습니다.
a equals b위 표현을 a == b의 대체재로 사용하고 싶어도, Python에서는 그런 방법을 제공하지 않습니다. 인터프리터가 해당 구문을 인식하지 못하기 때문입니다.
의도된 설계 결정
흥미로운 점은 이러한 제한이 기술적 한계가 아니라 의도된 설계 결정이라는 사실입니다. Python 창시자 귀도 반 로섬(Guido van Rossum)은 언어의 일관성과 가독성을 최우선 가치로 삼았습니다.
Python에 익숙한 개발자의 눈에는 a equals b와 같은 표현이 오히려 문법적으로 어색하고 부자연스럽게 보입니다. 익숙한 기호(==, +, < 등)를 유지함으로써 누구나 코드를 빠르게 이해할 수 있다는 것이 핵심 철학입니다.
참고: 연산자 '동작'은 변경 가능합니다
표기를 바꾸는 것은 불가능하지만, 연산자의 동작은 클래스에 특수 메서드(던더 메서드)를 정의하여 재정의할 수 있습니다.
__eq__:==비교 연산의 동작 정의__add__:+연산의 동작 정의__lt__:<비교 연산의 동작 정의
즉, '연산자가 무엇을 하는지'는 바꿀 수 있지만, '연산자가 어떤 모습으로 보이는지'는 바꿀 수 없다는 것이 Python의 명확한 원칙입니다.