Python ha macro? In tal caso, come funzionano?


Migliore risposta

Python stesso non ha macro, ma puoi in qualche modo falsificarle usando il modulo AST integrato per analizzare e ricaricare il codice al volo. Questa è la magia di Python allestremo.

Se non hai la pazienza o linteresse per farlo da solo, karnickel (http://pypi.python.org/pypi/karnickel) è una piccola libreria che definisce le macro esattamente come ho descritto. Utilizzando karnickel, puoi definire una macro in questo modo:

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!"

Risposta

No, ma tecnicamente parlando, nemmeno C / C ++. Oppure, per dirla in altro modo, tutti i linguaggi di programmazione possono avere macro.

Il fatto è che C e C ++ i compilatori non espandono le macro il preprocessore C. E il preprocessore è indipendente dal compilatore. Significa che potresti facilmente usarlo anche per il codice sorgente Python.

Quindi, se lo desideri, puoi definire ed espandere le macro C nel tuo codice Python (o qualsiasi altro codice del linguaggio di programmazione), producendo pre- sorgente elaborata che darai successivamente allinterprete.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *