Beste Antwort
Python selbst verfügt nicht über Makros, aber Sie können sie mit dem integrierten AST-Modul fälschen Code im laufenden Betrieb analysieren und neu laden. Dies ist Python-Magie bis zum Äußersten.
Wenn Sie nicht die Geduld oder das Interesse haben, dies selbst zu tun, ist Karnickel (http://pypi.python.org/pypi/karnickel) eine kleine Bibliothek, die Definiert Makros genau so, wie ich es beschrieben habe. Mit Karnickel können Sie ein Makro wie folgt definieren:
In macros.py:
from karnickel import macro
@macro
def custom\_loop(i):
for \_\_x in range(i):
print \_\_x
if \_\_x < i-1:
\_\_body\_\_
In example.py:
# Install the import hook.
import karnickel
karnickel.install\_hook()
from macros.\_\_macros\_\_ import custom\_loop
with custom\_loop(10):
print "I"m looping!"
Antwort
Nein, aber technisch gesehen auch nicht C / C ++. Oder anders ausgedrückt, alle Programmiersprachen haben möglicherweise Makros.
Die Sache ist, dass C und C ++ Compiler erweitern keine Makros der C-Präprozessor. Und der Präprozessor ist unabhängig vom Compiler. Dies bedeutet, dass Sie es problemlos auch für Python-Quellcode verwenden können.
Wenn Sie möchten, können Sie C-Makros in Ihrem Python-Code (oder einem anderen Programmiersprachencode) definieren und erweitern. verarbeitete Quelle, die Sie anschließend dem Interpreter zuführen.