ast.parse
- Python kursu
- Uzman
- Ders 13/47
- 5 dk
ast.parse ile AST oluşturmayı öğrenirsin.
ast.parse nedir?
ast.parse bir kaynak kod dizesini soyut sözdizimi ağacına (AST) çevirir. Ağacın her düğümü bir sözdizimi öğesini temsil eder: deyim, ifade, ad, sabit.
Örneğin ast.parse("x = 1 + 2") bir Module düğümü döndürür; .body listesinde bir Assign deyimi bulunur. Bu ağacı gezip analiz edebilir, dönüştürebilir veya yeniden derleyebilirsin. AST, linter'lar, kod üreteçleri ve eğitim araçlarının temelidir.
AST düğümleri
AST düğümleri ast modülünde sınıf olarak tanımlanır. Assign atama, BinOp ikili işlem, Name değişken adı, Constant sabit değer içindir.
Her düğümün türünü type(node).__name__ ile öğrenebilirsin. Düğümün alt alanlarına nokta ile erişirsin: node.targets, node.value. Ağacı anlamak için ast.dump(tree) tüm yapıyı bir dize olarak gösterir. Bu, hata ayıklamada çok yararlıdır.
Uygulama ast.parse ile ağaç oluştur
import ast ile modülü içe aktar. ast.parse("x = 1 + 2") ile ağacı oluştur. tree.body[0] ile ilk deyimi al. type(node).__name__ ile düğüm türünün adını yazdır.
Başlangıç kodu
# kodu çözümle ve ilk deyimi bul
# tür adını yazdırÖrnek çözüm
import ast
tree = ast.parse("x = 1 + 2")
node = tree.body[0]
print(type(node).__name__)Beklenen çıktı
Assign
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 ast.parse ne döndürür?
import ast
tree = ast.parse("x = 1")- Bir liste
- Bir dize
- Bir Module düğümü Doğru cevap
- Bir hata
Açıklama: ast.parse bir Module düğümü döndürür; .body içinde deyimler listelenir.
2 ast.parse çağrısını tamamla
tree = ____("x = 1 + 2")
tree = ast.parse("x = 1 + 2")
Açıklama: ast.parse kod dizesini ağaca çevirir.
3 AST kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
ast.parse |
Kodu ağaca çevirir |
Module |
Kök düğüm |
body |
Deyim listesi |
Assign |
Atama deyimi |