memoryview() عرض الذاكرة

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

memoryview() عرض الذاكرة

تُرجع memoryview() عرضًا في الذاكرة لكائن (مثل bytes/bytearray)، ما يتيح الوصول إلى المخزن المؤقت الأساسي دون نسخ.

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

📝 الصياغة

memoryview(obj)

⚙️ المعاملات

obj مطلوبAn object supporting the buffer protocol (e.g. bytes, bytearray).

القيمة المُعادة:A memoryview object providing zero-copy access to the underlying buffer.

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

▶ مثال

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

المخرجات:

104 b'ell'
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qما فائدة memoryview؟
Aقراءة/معالجة بيانات بايتات دون نسخ البيانات الأساسية، مناسبة لسيناريوهات حساسة للأداء مثل الملفات الكبيرة وحزم الشبكات، متجنبة النسخ عند التقطيع.
Qبعد mv = memoryview(b'hello')، ما قيمة mv[0]؟
Aإنه 104 (عدد صحيح)، مثل bytes التي تُفهرس بالبايت؛ mv[1:4] تُرجع عرضًا، وللتحويل إلى bytes استخدم .tobytes().
Qما الفرق بين memoryview والشريحة العادية؟
Ab'hello'[1:4] تُنشئ bytes جديدة (نسخ البيانات)؛ بينما memoryview(b'hello')[1:4] عرض يشير إلى نفس المخزن الأساسي دون نسخ.
Qماذا يحدث عند الاستدعاء على كائن لا يدعم بروتوكول المخزن؟
Aيُثار TypeError؛ فقط الكائنات مثل bytes و bytearray و array.array تدعم بروتوكول المخزن.
Web-Tutorial.com

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

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

100%