2009-06-30 4 views
1

Cody은 Python 매크로 구문을 작성하고 있습니다. 그는 이러한 매크로는 새로운 운영자에게 새로운 구조에서, 완전히 사용자 정의 구문을 정의 할 수Python 매크로 구문 사용자 정의에 대한 설명을 이해할 수 없습니다.

말한다. 은 Python 의 약자입니다.

나는 그가 새로운 사업자

  • 새로운 구조에 의해 무엇을 의미하는지 확실하지 않다 : 그가 진 등의 +, 같은 사업자를 참조 하는가 - 수학의 곱셈?
  • 주요 목표 : 파이썬의 매크로 구문을 사용자 정의 할 때 어떤 이점이 있습니까?

답변

6

의심의 여지 코디는 ^^ 또는 ++ 또는 +* 등등, 그들이 무엇을 의미 할 수 있습니다 (I 몰라)와 같은 파이썬에서 현재 사용하지 않는 완전히 새로운 사업자를 의미한다. 그리고 그는 매크로 시스템이 파이썬에 대한 완전히 새로운 구문 인 을 정의 할 수 있다고 명시 적으로 말하고 있습니다 (그의 질문은 매크로 정의 자체에 대한 구문입니다).

어떤 사람들은 신택스를 무시하고 예를 들어 파이썬이 들여 쓰기보다는 중괄호를 사용하는 것을 선호합니다. 하지만 파이썬 자체는 ... 그 사람들의 기본 설정을 수행하지 않습니다 :

>>> from __future__ import braces 
    File "<stdin>", line 1 
SyntaxError: not a chance 

그래서이 사람들이 매크로 시스템을 통해 파이썬에 대한 완전히 새로운 문법을 정의하여 갈망 무엇을 얻을 수 있습니다.

다른 사람들은 주로 Python의 일반적인 개요를 따르지만 특수한 새 키워드를 추가하거나 괄호를 사용하지 않고 함수를 호출 할 수있게하는 등의 특정 사용자 정의 언어를 정의하는 데 사용할 수 있습니다.

실제로 좋은 일인지는 고대의 문제입니다.하지만 Lisp과 같은 일부 언어는 항상 그런 힘을 가진 매크로를 사용하고 있으며 Peter Norvig와 같은 Lisp에서 Python을 사용하는 많은 사람들은 아마도 Lisp에서 사용했던 구문 작성 능력을 되찾고 파이썬에서는 부족하다는 사실을 알고 기뻐할 것입니다.

+0

@Alex : 설명해 주셔서 감사합니다. –

관련 문제