English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل الأساسيات لبايثون

تحكم العملية في بايثون

الوظائف في Python

أنواع البيانات في Python

تحميل ملفات بايثون

الأحداث والفئات في بايثون

التواريخ والوقت في بايثون

معرفة متقدمة في بايثون

دليل بايثون

استخدام دالة slice() في بايثون ومراجعة الأمثلة

وظائف مدمجة في بايثون

يعود دالة slice() بكائن القطع، يمكن استخدامه لقطع النصوص، القوائم، التتابعات، وما إلى ذلك.

يستخدم كائن القطع لقطع السلسلة المحددة (النص,البايت,التتابع,القائمةأوالنطاق) أو أي عنصر يدعم بروتوكول السلسلة (يحقق في __getitem__() و __len__())

نحو slice()

slice(start, stop, step)

معلمات slice()

يمكن لـ slice() أن تأخذ ثلاثة معلمات:

  • start (اختياري) -عدد صحيح، يستخدم كنقطة البداية للقطع. إذا لم يُقدم، فإن القيمة الافتراضية هي None.

  • stop-عدد صحيح، حتى يحدث القطع. يتم القطع في العلامة المرجعيةstop-1 (النهاية الأخيرة)المكانالإنهاء.

  • step (اختياري) -القيمة الصحيحة، تستخدم لتحديد الزيادة بين كل علامة مرجعية عند القطع. إذا لم يُقدم، فإن القيمة الافتراضية هي None.

مثال1: إنشاء كائن القطع

# يشمل الأسقف (0, 1, 2)
result1 = slice(3)
print(result1)
# يشمل الأسقف (1, 3)
result2 = slice(1, 5, 2)
print(slice(1, 5, 2))

نتيجة ال输岀

slice(None, 3, None)
slice(1, 5, 2)

في هذا السياق، result1 و result2 هي كائنات القطع.

الآن بعد أن فهمنا كائن القطع، دعنا نرى كيف يمكننا الحصول على النص الفرعي، القائمة الفرعية، التتابع الفرعي، وما إلى ذلك من كائن القطع.

مثال2: استخدام كائن القطع للحصول على النص الفرعي

# البرنامج يستخرج النص الفرعي من النص المحدد 
py_string = 'Python'
# stop = 3
# يشمل 0, 1 و 2 الأسقف
slice_object = slice(3) 
print(py_string[slice_object])  # Pyt
# start = 1, stop = 6, step = 2
# يشمل 1, 3 و 5 الأسقف
slice_object = slice(1, 6, 2)
print(py_string[slice_object])   # yhn

نتيجة ال输岀

Pyt
yhn

مثال3: استخدام المؤشر السلبي للحصول على النص الفرعي

py_string = 'Python'
# start = -1, stop = -4, step = -1
# تتضمن أرقام المؤشرات -1, -2 و 3
slice_object = slice(-1, -4, -1)
print(py_string[slice_object])   # noh

نتيجة ال输岀

noh

مثال 4: الحصول على القوائم الفرعية والتuples الفرعية

py_list = ['P', 'y', 't', 'h', 'o', 'n']
py_tuple = ('P', 'y', 't', 'h', 'o', 'n')
# تتضمن أرقام المؤشرات 0, 1 و 2
slice_object = slice(3)
print(py_list[slice_object]) # ['P', 'y', 't']
# تتضمن أرقام المؤشرات 1 و 3
slice_object = slice(1, 5, 2)
print(py_tuple[slice_object]) # ('y', 'h')

نتيجة ال输岀

['P', 'y', 't']
('y', 'h')

مثال 5: استخدام المؤشرات السلبية للحصول على القوائم الفرعية والتuples الفرعية

py_list = ['P', 'y', 't', 'h', 'o', 'n']
py_tuple = ('P', 'y', 't', 'h', 'o', 'n')
# تتضمن أرقام المؤشرات -1, -2 و 3
slice_object = slice(-1, -4, -1) 
print(py_list[slice_object])  # ['n', 'o', 'h']
# تتضمن أرقام المؤشرات -1 و 3
slice_object = slice(-1, -5, -2)
print(py_tuple[slice_object]) # ('n', 'h')

نتيجة ال输岀

['n', 'o', 'h']
('n', 'h')

مثال 6: استخدام القواعد التناظرية للاشارة لقسيم العملية

يمكن استبدال slice بالقواعد التناظرية للاشارة بالأرقام في بايثون

يمكنك التبديل بين الجمل التالية لقسيم العملية

obj[start:stop:step]

مثلاً:

py_string = 'Python'
# تتضمن أرقام المؤشرات 0, 1 و 2
print(py_string[0:3])  # Pyt
# تتضمن أرقام المؤشرات 1 و 3
print(py_string[1:5:2]) # yh

نتيجة ال输岀

Pyt
yh

وظائف مدمجة في بايثون