الفرق بين المراجعتين لصفحة: «Python/bytes/expandtabs»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.expandtabs()</code> في بايثون}}</noinclude> تحوّل الدالة جميع علامات الجدولة ف...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
يحوّل التابع جميع علامات الجدولة في ترميز ASCII إلى مسافة بيضاء واحدة أو أكثر في الترميز ذاته. | |||
==البنية العامة== | |||
== البنية العامة == | |||
<syntaxhighlight lang="python3"> | <syntaxhighlight lang="python3"> | ||
bytes.expandtabs(tabsize=8) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==المعاملات== | |||
== المعاملات == | ===<code>tabsize</code>=== | ||
=== <code>tabsize</code> === | |||
يحدّد مواقع علامات الجدولة في التسلسل الثنائي (القيمة الافتراضية هي <code>8</code>، فتكون مواقع علامات الجدولة في الأعمدة <code>0</code>، <code>8</code>، <code>16</code> وهكذا). | يحدّد مواقع علامات الجدولة في التسلسل الثنائي (القيمة الافتراضية هي <code>8</code>، فتكون مواقع علامات الجدولة في الأعمدة <code>0</code>، <code>8</code>، <code>16</code> وهكذا). | ||
==القيمة المعادة== | |||
يعيد التابع <code>expandtabs()</code> نسخة من التسلسل الثنائي بعد تحويل جميع علامات الجدولة بترميز ASCII إلى مسافة بيضاء واحدة أو أكثر من الترميز ذاته، وذلك بالاعتماد على العمود الحالي وحجم علامة الجدولة المحدد بواسطة المعامل <code>tabsize</code>. | |||
==توضيح== | |||
يعمل التابع عن طريق جعل العمود الحالي هو العمود <code>0</code> ثم فحص التسلسل الثنائي بايتًا بايتًا. فإن كان البايت هو علامة جدولة بترميز ASCII (<code>b'\t'</code>) تضاف مسافة ASCII واحدة أو أكثر إلى النتيجة وتستمر الإضافة إلى أن يصبح العمود الحالي مساويًا لموقع علامة الجدولة التالية (لا ينسخ التابع علامة الجدولة إلى التسلسل الجديد). | |||
إن وصل التابع في عملية الفحص إلى بايت السطر الجديد (<code>b'\n'</code>) أو (<code>b'\r'</code>) في ترميز ASCII فإنّه ينسخه ويعيد ضبط العمود الحالي إلى الصفر. | |||
إن | |||
أما بقية البايتات فتنسخ كما هي دون تغيير، ويُزاد العمود الحالي بمقدار <code>1</code> بصرف النظر عن كيفية تمثيل البايت عند الطباعة. | أما بقية البايتات فتنسخ كما هي دون تغيير، ويُزاد العمود الحالي بمقدار <code>1</code> بصرف النظر عن كيفية تمثيل البايت عند الطباعة. | ||
==أمثلة== | |||
== أمثلة == | يوضح المثال التالي طريقة استخدام هذا التابع والنتائج المعادة:<syntaxhighlight lang="python3"> | ||
يوضح المثال التالي طريقة استخدام | |||
<syntaxhighlight lang="python3"> | |||
>>> b'01\t012\t0123\t01234'.expandtabs() | >>> b'01\t012\t0123\t01234'.expandtabs() | ||
b'01 012 0123 01234' | b'01 012 0123 01234' | ||
سطر 31: | سطر 22: | ||
b'01 012 0123 01234' | b'01 012 0123 01234' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | |||
== انظر أيضًا == | *[[Python/bytes|البايتات في بايثون.]] | ||
* [[Python/bytes|البايتات في بايثون.]] | *التابع <code>[[Python/bytes/isspace|bytes.isspace()]]</code>: التحقق ممّا إذا كانت جميع البايتات في التسلسل الثنائي هي بايتات المسافة البيضاء في ترميز ASCII، ومن أنّ التسلسل ليس فارغًا. | ||
==مصادر== | |||
== مصادر == | *[https://docs.python.org/3/library/stdtypes.html#bytes.expandtabs قسم expandtabs في صفحة Types في توثيق بايثون الرسمي.]<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.expandtabs()</code> في بايثون}}</noinclude> | ||
* [https://docs.python.org/3/library/stdtypes.html#bytes.expandtabs قسم expandtabs في صفحة Types في توثيق بايثون الرسمي.] | |||
[[تصنيف:Python]] | [[تصنيف:Python]] | ||
[[تصنيف:Python Function]] | [[تصنيف:Python Function]] | ||
[[تصنيف:Python Built-in Functions]] | [[تصنيف:Python Built-in Functions]] |
مراجعة 09:11، 9 يونيو 2018
يحوّل التابع جميع علامات الجدولة في ترميز ASCII إلى مسافة بيضاء واحدة أو أكثر في الترميز ذاته.
البنية العامة
bytes.expandtabs(tabsize=8)
المعاملات
tabsize
يحدّد مواقع علامات الجدولة في التسلسل الثنائي (القيمة الافتراضية هي 8
، فتكون مواقع علامات الجدولة في الأعمدة 0
، 8
، 16
وهكذا).
القيمة المعادة
يعيد التابع expandtabs()
نسخة من التسلسل الثنائي بعد تحويل جميع علامات الجدولة بترميز ASCII إلى مسافة بيضاء واحدة أو أكثر من الترميز ذاته، وذلك بالاعتماد على العمود الحالي وحجم علامة الجدولة المحدد بواسطة المعامل tabsize
.
توضيح
يعمل التابع عن طريق جعل العمود الحالي هو العمود 0
ثم فحص التسلسل الثنائي بايتًا بايتًا. فإن كان البايت هو علامة جدولة بترميز ASCII (b'\t'
) تضاف مسافة ASCII واحدة أو أكثر إلى النتيجة وتستمر الإضافة إلى أن يصبح العمود الحالي مساويًا لموقع علامة الجدولة التالية (لا ينسخ التابع علامة الجدولة إلى التسلسل الجديد).
إن وصل التابع في عملية الفحص إلى بايت السطر الجديد (b'\n'
) أو (b'\r'
) في ترميز ASCII فإنّه ينسخه ويعيد ضبط العمود الحالي إلى الصفر.
أما بقية البايتات فتنسخ كما هي دون تغيير، ويُزاد العمود الحالي بمقدار 1
بصرف النظر عن كيفية تمثيل البايت عند الطباعة.
أمثلة
يوضح المثال التالي طريقة استخدام هذا التابع والنتائج المعادة:
>>> b'01\t012\t0123\t01234'.expandtabs()
b'01 012 0123 01234'
>>> b'01\t012\t0123\t01234'.expandtabs(4)
b'01 012 0123 01234'
انظر أيضًا
- البايتات في بايثون.
- التابع
bytes.isspace()
: التحقق ممّا إذا كانت جميع البايتات في التسلسل الثنائي هي بايتات المسافة البيضاء في ترميز ASCII، ومن أنّ التسلسل ليس فارغًا.