slice() كائن شريحة

آخر تحديث: 2026-09-22

slice() كائن شريحة

يُرجع slice(stop) أو slice(start, stop[, step]) كائن شريحة؛ يُستخدم في __getitem__ للقوائم list/الصفوف tuple وغيرها.

التصنيفالدوال المدمجة
النوعدالة مدمجة
إصدار بايثونall

📝 الصياغة

slice(stop)
slice(start, stop[, step])

⚙️ المعاملات

stop مطلوبThe stop index (exclusive); in the one-arg form it is the slice endpoint.
start اختياريThe start index (inclusive); None when omitted.(القيمة الافتراضية:None)
step اختياريThe step; None when omitted.(القيمة الافتراضية:None)

القيمة المُعادة:A slice object with start/stop/step attributes, passable to __getitem__.

💥 الاستثناءات

▶ مثال

عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:

المخرجات:

[1, 3]
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qهل slice(1, 5, 2) و lst[1:5:2] هما نفس الشيء؟
Aنعم — lst[1:5:2] يدعو داخليًا lst[slice(1, 5, 2)]؛ كائن slice مناسب لبناء شرائح ديناميكيًا (مثلًا عندما تأتي وسائط الشريحة من إعدادات أو مدخلات المستخدم).
Qهل start/stop/step لكائن slice أعداد صحيحة دائمًا؟
Aلا، يمكن حذفها كـ None: start و step للـ slice(5) هما None، بمعنى «من البداية حتى الفهرس 5»، بما يتوافق مع lst[:5].
Qكيف يدعم صنف مخصص التقطيع؟
Aنفّذ __getitem__(self, key)؛ عندما يكون key كائن slice، حلّل start/stop/step وطبّق المنطق المناظر.
Qهل يجب أن تكون وسائط slice أعدادًا صحيحة؟
Aنعم — تمرير غير صحيح (مثل slice('a', 'b')) يُثير TypeError؛ يجب أن تنفذ الوسيطات __index__.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%