Legjobb válasz
Magának a Pythonnak nincsenek makrói, de valamennyire hamisíthatja őket a beépített AST modul használatával elemezni és újratölteni a kódot menet közben. Ez a végletekig Python varázslat.
Ha nincs türelme vagy érdeklődése ehhez saját maga, a karnickel (http://pypi.python.org/pypi/karnickel) egy kis könyvtár, a makrókat az általam leírtak szerint definiálja. A karnickel használatával definiálhat egy makrót:
A macros.py fájlban:
 from karnickel import macro 
 @macro 
 def custom\_loop(i): 
  for \_\_x in range(i): 
  print \_\_x 
  if \_\_x < i-1: 
  \_\_body\_\_ 
Például :py:
 # Install the import hook. 
 import karnickel 
 karnickel.install\_hook() 
 from macros.\_\_macros\_\_ import custom\_loop 
 with custom\_loop(10): 
  print "I"m looping!" 
Válasz
Nem, de technikailag a C / C ++ sem. Vagy, másképpen fogalmazva, az összes programozási nyelvnek lehetnek makrói.
Az a helyzet, hogy a C és a C ++ A fordítók nem bővítik a makrókat a C előfeldolgozó. Az előfeldolgozó pedig független a fordítótól. Ez azt jelenti, hogy könnyedén felhasználhatja a Python forráskódjához is.
Tehát, ha úgy tetszik, definiálhat és kibonthatja a C makrókat a Python kódjában (vagy bármely más programozási nyelvi kódban), elő elő feldolgozott forrás, amelyet utána továbbítasz a tolmácsnak.