الفرق بين المراجعتين لصفحة: «Python/bytes/split»

من موسوعة حسوب
< Python‏ | bytes
لا ملخص تعديل
ط استبدال النص - ':الدالة' ب':التابع'
 
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.split()‎</code> في بايثون}}</noinclude>
<noinclude>{{DISPLAYTITLE:التابع <code>bytes.split()‎</code> في بايثون}}</noinclude>
تقسّم الدالة التسلسل الثنائي إلى [[Python/list|قائمة]] من تسلسلات ثنائية فرعية من النوع ذاته، بالاعتماد على فاصل محدّد.
يقسم التابع التسلسل الثنائي إلى [[Python/list|قائمة]] من تسلسلات ثنائية فرعية من النوع ذاته، بالاعتماد على فاصل محدّد.


==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
b.split()
bytes.split(sep=None, maxsplit=-1)</syntaxhighlight>
</syntaxhighlight>
==المعاملات==
==المعاملات==
===<code>maxsplit</code>===
===<code>maxsplit</code>===
يحدد هذا المعامل الحد الأقصى لعمليات التي التقسيم التي ستجريها الدالة، وبهذا تمتلك القائمة المعادة <code>maxsplit+1</code> من العناصر على الأكثر. في حال عدم تحديد قيمة المعامل <code>maxsplit</code> أو كانت قيمته <code>-1</code>، فلن يكون هناك حدّ لعمليات التقسيم (ستجري الدالة جميع عمليات التقسيم الممكنة).
يحدد هذا المعامل الحد الأقصى لعمليات التقسيم التي سيجريها التابع، وبهذا تمتلك القائمة المعادة <code>maxsplit+1</code> من العناصر على الأكثر. في حال عدم تحديد قيمة المعامل <code>maxsplit</code> أو كانت قيمته <code>-1</code>، فلن يكون هناك حدّ لعمليات التقسيم (ستجري الدالة جميع عمليات التقسيم الممكنة).
===<code>sep</code>===
===<code>sep</code>===
يحدّد هذا المعامل الفاصل الذي ستعتمده الدالة في تقسيم السلسلة النصية. في حال تحديد قيمة هذا المعامل لن تُجمّع الفواصل المتتابعة مع بعضها البعض وستعدّ فواصل لتسلسلات ثنائية فارغة.
يحدّد هذا المعامل الفاصل الذي سيعتمده التابع في تقسيم السلسلة النصية. في حال تحديد قيمة هذا المعامل لن تُجمّع الفواصل المتتابعة مع بعضها البعض وستعدّ فواصل لتسلسلات ثنائية فارغة.


يمكن أن يتكوّن المعامل <code>sep</code> من تسلسل بايتات متعددة.
يمكن أن يتكوّن المعامل <code>sep</code> من تسلسل بايتات متعددة.
==القيمة المعادة==
==القيمة المعادة==
تعيد الدالة [[Python/list|قائمة]] من التسلسلات الفرعية.
يعيد التابع [[Python/list|قائمة]] من التسلسلات الفرعية.


يؤدي تطبيق الدالة <code>split()</code>‎ على تسلسل ثنائي فارغ إلى إعادة القيمة <code>[<nowiki>''</nowiki>b]</code> أو القيمة ‎<code>[bytearray(b<nowiki>''</nowiki>)]‎</code>وذلك بحسب نوع الكائن الذي يجري تقسيمه.
يؤدي تطبيق التابع <code>split()</code>‎ على تسلسل ثنائي فارغ إلى إعادة القيمة <code>[<nowiki>''</nowiki>b]</code> أو القيمة ‎<code>[bytearray(b<nowiki>''</nowiki>)]‎</code>وذلك بحسب نوع الكائن الذي يجري تقسيمه.


في حال عدم تحديد قيمة المعامل <code>sep</code> أو إعطائه القيمة <code>None</code>، ستنفّذ الدالة الخوارزمية التالية لإجراء عملية التقسيم:
في حال عدم تحديد قيمة المعامل <code>sep</code> أو إعطائه القيمة <code>None</code>، سيُنفّذ التابع الخوارزمية التالية لإجراء عملية التقسيم:


تعدّ مجموعة من المسافات البيضاء بمثابة فاصل واحد، وتكون النتيجة المعادة خالية من السلاسل الفارغة في البداية أو في النهاية إن كانت السلاسل الأصلية تتضمن مسافات بيضاء في نهايتها أو بدايتها.
تعدّ مجموعة من المسافات البيضاء بمثابة فاصل واحد، وتكون النتيجة المعادة خالية من السلاسل الفارغة في البداية أو في النهاية إن كانت السلاسل الأصلية تتضمن مسافات بيضاء في نهايتها أو بدايتها.
سطر 24: سطر 23:
وبناء على ذلك فإنّ نتيجة تقسيم تسلسل فارغ أو تسلسل يتضمن مسافات بيضاء بترميز ASCII فقط باستخدام الفاصل <code>None</code> هي [[Python/list|قائمة فارغة]] <code>[]</code>.
وبناء على ذلك فإنّ نتيجة تقسيم تسلسل فارغ أو تسلسل يتضمن مسافات بيضاء بترميز ASCII فقط باستخدام الفاصل <code>None</code> هي [[Python/list|قائمة فارغة]] <code>[]</code>.
==أمثلة==
==أمثلة==
يوضّح المثال التالي طرقًا مختلفة لاستخدام الدالة <code>split()‎</code> والنتائج المعادة منها:<syntaxhighlight lang="python3">
يوضّح المثال التالي طرائق مختلفة لاستخدام التابع <code>split()‎</code> والنتائج المعادة منها:<syntaxhighlight lang="python3">
>>> b'1,2,3'.split(b',')
>>> b'1,2,3'.split(b',')
[b'1', b'2', b'3']
[b'1', b'2', b'3']
سطر 41: سطر 40:
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*[[Python/str/rsplit|الدالة str.rsplit()‎ في بايثون.]]
* [[Python/bytes|البايتات في بايثون.]]
*[[Python/str|السلاسل النصية في بايثون.]]
* [[Python/list|القوائم في بايثون.]]
*[[Python/list|القوائم في بايثون.]]
* التابع <code>[[Python/bytes/rsplit|bytes.rsplit()‎]]</code>: تقسيم التسلسل الثنائي إلى تسلسلات فرعية من النوع ذاته بالاعتماد على تسلسل ثنائي يحدّد الفاصل.
 
==مصادر==
==مصادر==
<span> </span>
*[https://docs.python.org/3/library/stdtypes.html#bytes.split قسم split في صفحة Types في توثيق بايثون الرسمي.]
*[https://docs.python.org/3/library/stdtypes.html#bytes.split قسم split في صفحة Types في توثيق بايثون الرسمي.]


[[تصنيف:Python]]
[[تصنيف:Python]]
[[تصنيف:Python Function]]
[[تصنيف:Python Method]]
[[تصنيف:Python Built-in Functions]]
[[تصنيف:Python Types]]
[[تصنيف:Python Bytes]]

المراجعة الحالية بتاريخ 11:59، 10 يونيو 2018

يقسم التابع التسلسل الثنائي إلى قائمة من تسلسلات ثنائية فرعية من النوع ذاته، بالاعتماد على فاصل محدّد.

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

bytes.split(sep=None, maxsplit=-1)

المعاملات

maxsplit

يحدد هذا المعامل الحد الأقصى لعمليات التقسيم التي سيجريها التابع، وبهذا تمتلك القائمة المعادة maxsplit+1 من العناصر على الأكثر. في حال عدم تحديد قيمة المعامل maxsplit أو كانت قيمته -1، فلن يكون هناك حدّ لعمليات التقسيم (ستجري الدالة جميع عمليات التقسيم الممكنة).

sep

يحدّد هذا المعامل الفاصل الذي سيعتمده التابع في تقسيم السلسلة النصية. في حال تحديد قيمة هذا المعامل لن تُجمّع الفواصل المتتابعة مع بعضها البعض وستعدّ فواصل لتسلسلات ثنائية فارغة.

يمكن أن يتكوّن المعامل sep من تسلسل بايتات متعددة.

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

يعيد التابع قائمة من التسلسلات الفرعية.

يؤدي تطبيق التابع split()‎ على تسلسل ثنائي فارغ إلى إعادة القيمة [''b] أو القيمة ‎[bytearray(b'')]‎وذلك بحسب نوع الكائن الذي يجري تقسيمه.

في حال عدم تحديد قيمة المعامل sep أو إعطائه القيمة None، سيُنفّذ التابع الخوارزمية التالية لإجراء عملية التقسيم:

تعدّ مجموعة من المسافات البيضاء بمثابة فاصل واحد، وتكون النتيجة المعادة خالية من السلاسل الفارغة في البداية أو في النهاية إن كانت السلاسل الأصلية تتضمن مسافات بيضاء في نهايتها أو بدايتها.

وبناء على ذلك فإنّ نتيجة تقسيم تسلسل فارغ أو تسلسل يتضمن مسافات بيضاء بترميز ASCII فقط باستخدام الفاصل None هي قائمة فارغة [].

أمثلة

يوضّح المثال التالي طرائق مختلفة لاستخدام التابع split()‎ والنتائج المعادة منها:

>>> b'1,2,3'.split(b',')
[b'1', b'2', b'3']
>>> b'1,2,3'.split(b',', maxsplit=1)
[b'1', b'2,3']
>>> b'1,2,,3,'.split(b',')
[b'1', b'2', b'', b'3', b'']
>>> b'1<>2<>3'.split(b'<>')
b'1', b'2', b'3']
>>> b'1 2 3'.split()
[b'1', b'2', b'3']
>>> b'1 2 3'.split(maxsplit=1)
[b'1', b'2 3']
>>> b'   1   2   3   '.split()
[b'1', b'2', b'3']

انظر أيضًا

مصادر