CodeBlanks Logo Icon CodeBlanks

ast.parse

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

main.py
# kodu çözümle ve ilk deyimi bul
# tür adını yazdır

Örnek çözüm

main.py
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?

main.py
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

Soru
tree = ____("x = 1 + 2")
Cevap
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

Uzman bölümündeki tüm dersler