الدالة str.expandtabs()‎ في بايثون

من موسوعة حسوب

تعيد الدالة expandtabs()‎ نسخة من السلسلة النصية بعد تحويل جميع علامات الجدولة إلى مسافة بيضاء واحدة أو أكثر.

البنية العامة

x.expandtabs()

المعاملات

tabsize

يحدّد مواقع علامات الجدولة في السلسلة النصية (القيمة الافتراضية هي 8، فتكون مواقع علامات الجدولة في الأعمدة 0، 8، 16 وهكذا).

القيمة المعادة

تعيد الدالة expandtabs()‎ نسخة من السلسلة النصية بعد تحويل جميع علامات الجدولة إلى مسافة بيضاء واحدة أو أكثر وذلك بالاعتماد على العمود الحالي وحجم علامة الجدولة المحدد بواسطة المعامل tabsize.

توضيح

تعمل الدالة عن طريق جعل العمود الحالي هو العمود 0 ثم فحص السلسلة النصية حرفًا حرفًا. فإن كان الحرف هو علامة جدولة (‎\t‎) تضاف مسافة واحدة أو أكثر إلى النتيجة وتستمر الإضافة إلى أن يصبح العمود الحالي مساويًا لموقع علامة الجدولة التالية (لا تنسخ الدالة علامة الجدولة إلى السلسلة الجديدة).

إن وصلت الدالة في عملية الفحص إلى حرف السطر الجديد (‎\n) أو (‎\r) فإنّها تنسخه وتعيد ضبط العمود الحالي إلى الصفر.

أما بقية الأحرف فتنسخ كما هي دون تغيير، ويُزاد العمود الحالي بمقدار 1 بصرف النظر عن كيفية تمثيل الحرف عند الطباعة.

أمثلة

يوضح المثال التالي طريقة استخدام هذه الدالة والنتائج المعادة:

>>> '01\t012\t0123\t01234'.expandtabs()
'01      012     0123    01234'
>>> '01\t012\t0123\t01234'.expandtabs(4)
'01  012 0123    01234'

انظر أيضًا

مصادر