Kompilacja Pythona ()

Metoda compile () zwraca obiekt kodu Pythona ze źródła (zwykły ciąg znaków, ciąg bajtów lub obiekt AST).

Składnia compile()to:

 kompiluj (źródło, nazwa pliku, tryb, flagi = 0, dont_inherit = fałsz, optymalizuj = -1)

compile() Metoda jest używana, jeśli kod Pythona jest w postaci ciągu znaków lub jest obiektem AST i chcesz go zmienić na obiekt kodu.

Obiekt kodu zwrócony przez compile()metodę można później wywołać przy użyciu metod takich jak: exec () i eval (), które będą wykonywać dynamicznie generowany kod Pythona.

compile () Parametry

  • source - zwykły łańcuch, łańcuch bajtów lub obiekt AST
  • filename- plik, z którego odczytano kod. Jeśli nie został odczytany z pliku, możesz sam nadać nazwę
  • mode- Albo execalbo evalalbo single.
    • eval - akceptuje tylko jedno wyrażenie.
    • exec - Może zająć blok kodu, który zawiera instrukcje Pythona, klasę i funkcje i tak dalej.
    • single - jeśli składa się z pojedynczej interaktywnej instrukcji
  • flags(opcjonalne) i dont_inherit(opcjonalne) - kontroluje, które przyszłe instrukcje wpływają na kompilację źródła. Wartość domyślna: 0
  • optimize(opcjonalnie) - poziom optymalizacji kompilatora. Wartość domyślna -1.

Wartość zwracana z compile ()

compile() metoda zwraca obiekt kodu Pythona.

Przykład: Jak działa compile ()?

 codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)

Wynik

 suma = 11

Tutaj źródło jest w normalnej postaci ciągu. Nazwa pliku to sumstring. A exectryb później pozwala na użycie exec()metody.

compile () konwertuje ciąg znaków na obiekt kodu w języku Python. Obiekt kodu jest następnie wykonywany przy użyciu exec()metody method.

Interesujące artykuły...