تقنية

get_docstring في بايثون: هل تحفظ المسافات كما هي؟

نص منظف وخام
تفسير توضيحي [1] [2]

ميّز النص المستخرج من تنسيقه. [1] [2]

الخلاصة السريعة

لا افتراضيًا؛ clean=False يحتفظ بالقيمة الخام. [1] [2]

  • نحلل نصًا مؤلفًا إلى عقدة Module. [1] [2]
  • الافتراضي يعيد bud وleaf في سطرين. [1] [2]
  • مع clean=False تبقى الهوامش والأسطر الفارغة. [1] [2]
  • المعاد الخام يساوي قيمة Constant النصية. [1] [2]
  • فحص 3.12.14؛ دون تشغيل النص المحلل. [1] [2]

المثال

نحلل نصًا مؤلفًا إلى عقدة Module. [1] [2]

import ast
tree=ast.parse('"""\n    bud\n    leaf\n    """')
raw=ast.get_docstring(tree,clean=False)
print(repr(ast.get_docstring(tree)))
print(raw==tree.body[0].value.value)
print(repr(raw))

[1] [2]

التنظيف

الافتراضي يعيد bud وleaf في سطرين. [1] [2]

مع clean=False تبقى الهوامش والأسطر الفارغة. [1] [2]

النتيجة: نص منظف، True، ثم النص الخام. [1] [2]

قيمة العقدة
تفسير توضيحي [1] [2]

القيمة الأصلية

المعاد الخام يساوي قيمة Constant النصية. [1] [2]

الخام قيمة نصية مفكوك ترميزها، وليس علامات الاقتباس في المصدر. [1] [2]

النطاق

فحص 3.12.14؛ دون تشغيل النص المحلل. [1] [2]

بقيت الشجرة كما هي في الضوابط؛ ليست مقارنة سرعة. [1] [2]

المراجع

  1. Python 3.12: docstring cleanup
  2. CPython 3.12.14: AST extraction
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.