• 0

ما فائدة دالة eval() في بايثون؟

أثناء قراءتي لكتاب يتحدث عن بايثون، وجدته يستخدم هذا السطر كثيرا في أمثلته:

eval(input('blah'))

فما معنى هذا السطر؟ وما فائدة دالة eval في لغة بايثون؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

لدالة eval فائدة كبيرة في لغة بايثون فهي تترجم السلسلة النصية كشيفرة برمجية ومع ذلك فإن الكثير من المبرمجين يحذرون من استخدام هذه الدالة لأن المستخدم يمكنه استخدام هذه الدالة لتنفيذ أوامر لنظام الحاسوب، فمثلا لو استعملت السطر eval(input()) وقد قمت في وقت سابق باستدعاء وحدة os في برنامجك، فيمكن لأي شخص أن يكتب os.system('rm -R *') والذي سيحذف جميع الملفات الموجودة في مجلد المنزل (إذا افترضنا أنك على أحد أنظمة يونكس)، لذلك تجنب استخدامها قدر المستطاع.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن