الفرق بين المراجعتين ل"Python/bytes/expandtabs"

من موسوعة حسوب
< Python‏ | bytes
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.expandtabs()‎</code> في بايثون}}</noinclude> تحوّل الدالة جميع علامات الجدولة ف...')
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.expandtabs()‎</code> في بايثون}}</noinclude>
+
يحوّل التابع جميع علامات الجدولة في ترميز ASCII إلى مسافة بيضاء واحدة أو أكثر في الترميز ذاته.
تحوّل الدالة جميع علامات الجدولة في ترميز ASCII إلى مسافة بيضاء واحدة أو أكثر في الترميز ذاته.
+
==البنية العامة==
 
 
== البنية العامة ==
 
 
<syntaxhighlight lang="python3">
 
<syntaxhighlight lang="python3">
b.expandtabs()
+
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>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، ومن أنّ التسلسل ليس فارغًا.

مصادر