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
ASTAbstrakt 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.
NodeTransformerTugunlarni aylanib chiqadi va ularni joyida o‘zgartiradi; eskisining o‘rniga yangi tugun qaytariladi.
NodeVisitorDaraxtni 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).

❮ Python o‘rnatilgan modullari

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!