تقنية

padded في بايثون: هل يضيف هامشًا لكل أسطر المقطع؟

هامش المقطع
تفسير توضيحي [1] [2]

قارن هامش كل سطر من المقطع. [1] [2]

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

لا؛ يعود هامش الأول فقط هنا. [1] [2]

  • المقطع سطران؛ يبدأ مصدره بأربع مسافات. [1] [2]
  • الافتراضي يزيل هامش السطر الأول من المقطع. [1] [2]
  • مع padded=True يعود هامش الأول فقط. [1] [2]
  • هامش الثاني 10 مسافات في الحالتين. [1] [2]
  • سطر واحد: لا فرق؛ 3.12.14 دون تشغيل. [1] [2]

المثال

المقطع سطران؛ يبدأ مصدره بأربع مسافات. [1] [2]

import ast
s="if True:\n    leaf=(4+\n          9)\n"
n=ast.parse(s).body[0].body[0]
a=ast.get_source_segment(s,n)
b=ast.get_source_segment(s,n,padded=True)
print(repr(a))
print(repr(b))
print(a.splitlines()[1]==b.splitlines()[1])

[1] [2]

الهامش

الافتراضي يزيل هامش السطر الأول من المقطع. [1] [2]

مع padded=True يعود هامش الأول فقط. [1] [2]

هامش الثاني 10 مسافات في الحالتين. [1] [2]

النتيجة: True لتطابق السطر الثاني. [1] [2]

تحكم السطر الواحد
تفسير توضيحي [1] [2]

التحكم والنطاق

سطر واحد: لا فرق؛ 3.12.14 دون تشغيل. [1] [2]

استعملنا leaf=9 داخل الكتلة للتحكم بسطر واحد. [1] [2]

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

المراجع

  1. Python 3.12: first-line padding
  2. CPython 3.12.14: segment padding
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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

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