English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يعود دالة slice() بكائن القطع، يمكن استخدامه لقطع النصوص، القوائم، التتابعات، وما إلى ذلك.
يستخدم كائن القطع لقطع السلسلة المحددة (النص,البايت,التتابع,القائمةأوالنطاق) أو أي عنصر يدعم بروتوكول السلسلة (يحقق في __getitem__() و __len__())
نحو slice()
slice(start, stop, step)
يمكن لـ slice() أن تأخذ ثلاثة معلمات:
start (اختياري) -عدد صحيح، يستخدم كنقطة البداية للقطع. إذا لم يُقدم، فإن القيمة الافتراضية هي None.
stop-عدد صحيح، حتى يحدث القطع. يتم القطع في العلامة المرجعيةstop-1 (النهاية الأخيرة)المكانالإنهاء.
step (اختياري) -القيمة الصحيحة، تستخدم لتحديد الزيادة بين كل علامة مرجعية عند القطع. إذا لم يُقدم، فإن القيمة الافتراضية هي None.
# يشمل الأسقف (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 هي كائنات القطع.
الآن بعد أن فهمنا كائن القطع، دعنا نرى كيف يمكننا الحصول على النص الفرعي، القائمة الفرعية، التتابع الفرعي، وما إلى ذلك من كائن القطع.
# البرنامج يستخرج النص الفرعي من النص المحدد 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
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
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')
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')
يمكن استبدال 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