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
- Alboexec
alboeval
albosingle
.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 exec
tryb 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.