انتبه إلى وحدة إزاحة العمود. [1] [2]
الخلاصة السريعة
المثال
مصدرنا é=4; leaf=9 في سطر واحد. [1] [2]
import ast s="é=4; leaf=9" n=ast.parse(s).body[1] print(n.col_offset,n.end_col_offset) print(ast.get_source_segment(s,n)) print(s[n.col_offset:n.end_col_offset])
استخراج وتقطيع
الإزاحتان للإسناد الثاني 6 و12. [1] [2]
get_source_segment يعيد leaf=9. [1] [2]
التقطيع يعيد eaf=9؛ التحكم ASCII يعطي تطابقًا. [1] [2]
النتيجة: 6 12، leaf=9، eaf=9. [1] [2]

وحدة العمود
3.12.14: إزاحتا UTF-8 بالبايت، دون تشغيل المصدر. [1] [2]
المحرف é بايتان في UTF-8؛ فهارس str تحسب المحارف. [1] [2]
النطاق
في التحكم b=4; leaf=9، يعيد الأسلوبان leaf=9. [1] [2]
الشجرة والمصدر لم يتغيرا في فحوص الاستخراج. [1] [2]
المراجع
- Python 3.12: UTF-8 byte columns
- CPython 3.12.14: source extraction
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
