Compile () yöntemi, kaynaktan bir Python kodu nesnesi döndürür (normal dize, bayt dizesi veya AST nesnesi).
Sözdizimi compile()
şöyledir:
derleme (kaynak, dosya adı, mod, bayraklar = 0, dont_inherit = False, optimize = -1)
compile()
yöntem, Python kodu dize biçimindeyse veya bir AST nesnesiyse ve bunu bir kod nesnesine dönüştürmek istiyorsanız kullanılır.
compile()
Yöntem tarafından döndürülen kod nesnesi daha sonra dinamik olarak oluşturulmuş Python kodunu çalıştıracak exec () ve eval () gibi yöntemler kullanılarak çağrılabilir.
compile () Parametreler
source
- normal bir dize, bir bayt dizesi veya bir AST nesnesifilename
- kodun okunduğu dosya. Dosyadan okunmadıysa, kendinize bir isim verebilirsiniz.mode
- Yaexec
yaeval
da yasingle
.eval
- yalnızca tek bir ifadeyi kabul eder.exec
- Python ifadeleri, sınıfı ve işlevleri vb. İçeren bir kod bloğu alabilir.single
- tek bir etkileşimli ifadeden oluşuyorsa
flags
(isteğe bağlı) vedont_inherit
(isteğe bağlı) - hangi gelecek ifadelerin kaynağın derlenmesini etkileyeceğini denetler. Varsayılan Değer: 0optimize
(isteğe bağlı) - derleyicinin optimizasyon seviyesi. Varsayılan değer -1.
Compile'den Dönüş Değeri ()
compile()
yöntem bir Python kod nesnesi döndürür.
Örnek: compile () nasıl çalışır?
codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Çıktı
toplam = 11
Burada kaynak normal dizgi biçimindedir. Dosya adı özettir. Ve exec
mod daha sonra exec()
yöntemin kullanımına izin verir .
compile () yöntemi, dizeyi Python kod nesnesine dönüştürür. Kod nesnesi daha sonra exec()
yöntem kullanılarak çalıştırılır .