ast
Python ast moduli
❮ Python o‘rnatilgan modullari
Misol
Oddiy operatorni tahlil qiling va AST turini tekshiring:
import ast
tree = ast.parse("x = 1 + 2")
print(type(tree).__name__)
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
ast moduli Python manba kodini abstrakt sintaksis daraxtiga (AST — Abstract Syntax Tree) tahlil qilib o‘tkazish imkonini beradi.
Undan Python kodini dasturiy ravishda tahlil qilish, o‘zgartirish yoki yaratish, jumladan literallarni xavfsiz hisoblash uchun foydalaning.
A’zolar
| A’zo | Tavsif |
|---|---|
| AST | Abstrakt sintaksis daraxtidagi barcha tugunlar uchun asosiy sinf. |
| copy_location() | Joylashuv ma’lumotini (qator/ustun) bir tugundan boshqasiga nusxalaydi. |
| dump() | Debug qilish yoki tekshirish uchun AST’ning formatlangan stringini qaytaradi. |
| fix_missing_locations() | Tugunlardagi yetishmayotgan joylashuv (qator/ustun) ma’lumotlarini to‘ldiradi. |
| get_docstring() | Tugunning docstring’ini, agar mavjud bo‘lsa, qaytaradi. |
| get_source_segment() | Tugunni hosil qilgan manba kodining aynan o‘sha qismini, agar mavjud bo‘lsa, qaytaradi. |
| increment_lineno() | Tugun va uning ichki tugunlaridagi qator raqamlarini oshiradi (masalan, kod qo‘shishda). |
| iter_child_nodes() | Tugunning bevosita ichki (child) tugunlari bo‘ylab iteratsiya qiladi. |
| iter_fields() | AST tugunining maydonlari bo‘ylab iteratsiya qiladi. |
| literal_eval() | Python literal tuzilmasini o‘z ichiga olgan stringni xavfsiz hisoblaydi. |
| NodeTransformer | Tugunlarni aylanib chiqadi va ularni joyida o‘zgartiradi; eskisining o‘rniga yangi tugun qaytariladi. |
| NodeVisitor | Daraxtni aylanib chiqadi va tugun turlari uchun visit_* metodlarini ishga tushiradi; o‘zgartirish kiritmaydi. |
| parse() | Python manba kodini tahlil qilib, AST daraxtiga o‘tkazadi. |
| unparse() | AST’ni qaytadan Python manba kodiga aylantiradi. |
| walk() | Berilgan tugundan boshlab daraxtdagi barcha tugunlarni rekursiv ravishda qaytaradi (yield). |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
