Ali Ahmed55 نشر 25 أبريل أرسل تقرير نشر 25 أبريل السلام عليكم اي الفرق بين الداله range و numpy.arange ؟ 1 اقتباس
0 محمد عاطف17 نشر 25 أبريل أرسل تقرير نشر 25 أبريل وعليكم السلام ورحمة الله وبركاته . ان دالة range هى دالة built-in function فى بايثون اما دالة arange فهى دالة خاصة بمكتبة numpy ولكن فى المجمل فان الدالتين متشابهتين فى الاستخدام و فى نفس كل شئ تقريبا . ولكن توجد بعض الفروق الجوهرية بينهما, ولكن اولا لنشرح ما وظيفتهما : دالة range تقوم بارجاع كائن من نوع مجال (range) يحتوي على أعداد صحيحة من نقطة البداية إلى نقطة النّهاية مع فصلها بمسافة عدديّة و تستقبل ثلاثة معاملات : start وهو النقطة التى نريد ان يبدا المجال منها. stop وهو النقطة التى نريد ان ينتهى المجال عندها . step وهو المسافة بين كل نقطة فى المجال وهو معامل اختيارى اذا لم يتم توفيره سيكون ب 1. مثال للدالة range list(range(3)) # من صفر إلى ثلاثة #[0, 1, 2] list(range(1, 5)) # من 1 إلى 5 #[1, 2, 3, 4] #list(range(1, 5, 2)) # من 1 إلى 5 مع اثنين كمسافة بين كلّ عنصر والآخر [1, 3] ويمكنك الذهاب لهذا الرابط لموسوعة حسوب لتفهم اكثر عمل الدالة. الان الدالة arange هى خاصة بمكتبة numpy وتقوم باعادة كائن من نوع مصفوفة (NumPy array) وهى تستقبل اربع معاملات اول ثلاق معاملات هم نفس الدالة range والمعامل الاخير هو نوع الكائن الذى تريد ان تقوم الدالة arange باعادته لك. الان ناتى للفروق الجوهرية : كما وضحت سابقا فان كل دالة تقوم بارجاع كائن مختلف عن الاخر فالدالة range تقوم بارجاع كائن مجال اما arange تقوم بارجاع كائن من نوع مصفوفة او كما تريد انت عن طريق تمرير المعامل الرابع كما تحب. ان دالة range لها قيد حيث لا يمكن ان تكون المسافة قيمة عشرية بل يجب ان تكون قيمة صحيحة عكس arange يمكن ان تمرر لها ما تريد import numpy as np print(np.arange(1,5,0.5)) print(list(range(1,5,0.5))) # هنا سوف يحدث مشكلة لان المسافة يجب ان تكون رقم صحيح السرعة هنا دالة arange أسرع من دالة range فى التنفيذ والعمليات التى تتم عليها . المساحة التى يتم استخدامها فى الذاكرة فى arange اقل من دالة range . ولكن يوجد بعض النصائح فاذا كنت تريد انشاء مجال يحوى على العديد من الارقام فان دالة range هى الافضل واذا اردت ان تقوم بالتكرار عليهم فقط فان الدالة range افضل كذلك من arrange . اما اذا كنت تريد تنفيذ عمليات عليهم فان numpy.arange تضمن لك السرعه فى ذلك الامر 1 اقتباس
0 Ali Ahmed55 نشر 25 أبريل الكاتب أرسل تقرير نشر 25 أبريل شكراا لحضرتك انا فهمت ليه الناس بتحب مكتبه numpy وليه بتستخدم في كثير من المشاريع 1 اقتباس
0 Ali Ibrahim12 نشر 25 أبريل أرسل تقرير نشر 25 أبريل الفرق الاساسي ان range ترجع كائن من نوع range لا يمكنك ان تقوم بعمليات المصفوفات العديدة هي مناسبة بشكل كبير لحلقات التكرار في الصور التالية تبين الفرق بين الاثنين حيث np.arange ترجع array تستطيع التعامل معها مع جميع العمليات التي تقبلها المصفوفة وفي الصور الثانية تبين عدم قدرة range على اجراء عميلة sum بينما np.arange كانت قادرة على ذلك 1 اقتباس
السؤال
Ali Ahmed55
السلام عليكم
اي الفرق بين الداله range و numpy.arange ؟
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.