ali_agha نشر 19 سبتمبر 2015 أرسل تقرير نشر 19 سبتمبر 2015 أجد في الكثير من البرامج والمكتبات التي تم برمجتها بلغة البايثون أن في آخر سطر من الشيفرة البرمجية تجد عبارة 'if __name__ == "__main__":' فما فائدتها ؟ اقتباس
1 هشام رزق الله نشر 19 سبتمبر 2015 أرسل تقرير نشر 19 سبتمبر 2015 هنالك العديد من المصطلحات التي يجب على المبرمجين معرفتها بعد تعلم أساسيات البرمجة، وفي لغة البايثون ستجد عدة طرق برمجة يجب معرفتها قبل البدء بقراءة السورس كود (الشيفرة المصدرية) لأي برنامج آخر، ومن بين هذه الطرق نجد'if __name__ == "__main__":' فهذه الشيفرة توضع في نهاية الكود في حالة أنه تم تشغيل ملف البايثون كسكربت، لأن أغلب الشيفرات التي تجد في نهايتها هذا السطر تكون في الغالب شيفرات تحتوي على دوال يمكن استدعاؤها واستخدامها كمكتبة.بعد هذا السطر يتم كتابة الشيفرة التي سيتم تنفيذها عند تشغيل ملف البايثون كسكربت. اقتباس
0 Ali Abdulrhman Faki نشر 20 سبتمبر 2015 أرسل تقرير نشر 20 سبتمبر 2015 تخيل لديك ملف اسمه test1.py على سبيل المثال يحتوي هذه الشفرة البرمجية : def add(num1, num2): return num1 + num2 result = add(3, 4) print(result)الناتج سيكون 7وبعد مرور فترة قمت بكتابة ملف اسمه test2.py وتريد الدالة add ولكن بدلاً من كتابتها من جديد ستقوم بإستدعاء الملف test1.py (إذا كان في نفس المسار ) وتقوم بإستخدام الدالة add الشفرة ستكون هكذا: import test1 result = test1.add(12, 2) print(result)ولكن هناك مشكلة بما إنك قمت بإستدعاء test1 فان المفسر سيطبع 7 (وانت لا تريد هذا) لذا ستقوم بتعديل test1 بهذا الشكل: def add(num1, num2): return num1 + num2 if __name__ == '__main__': result = add(3, 4) print(result)__name__ هو متغير خاص يتم تعريفه عند تشغيل البرنامجإذا كان البرنامج يعمل مباشرة فان __name__ تساوي "__main__" اما إذا قمت بإستدعاء الملف من ملف اخر فإن __name__ تساوي اسم الملف (في حالتنا هذه test1) اقتباس
السؤال
ali_agha
أجد في الكثير من البرامج والمكتبات التي تم برمجتها بلغة البايثون أن في آخر سطر من الشيفرة البرمجية تجد عبارة 'if __name__ == "__main__":' فما فائدتها ؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.