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 ASTfilename- plik, z którego odczytano kod. Jeśli nie został odczytany z pliku, możesz sam nadać nazwęmode- Alboexecalboevalalbosingle.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) idont_inherit(opcjonalne) - kontroluje, które przyszłe instrukcje wpływają na kompilację źródła. Wartość domyślna: 0optimize(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.








