Python الوظيفة الرئيسية ومثال الطريقة: فهم def Main()
ما هي تفاصيل Python الوظيفة الرئيسية؟
Python الوظيفة الأساسية تعتبر نقطة البداية لأي برنامج. عند تشغيل البرنامج، يقوم مفسّر بايثون بتشغيل الكود بشكل متسلسل. يتم تنفيذ الوظيفة الرئيسية فقط عند تشغيلها كـ Python برنامج. لن يتم تشغيل الوظيفة الرئيسية إذا تم استيرادها كوحدة نمطية.
ما هي وظيفة def main() Pythonلفهم هذا، ضع في اعتبارك الكود المثال التالي
التعريف الرئيسي () مثال 1
def main():
print ("Hello World!")
print ("Guru99")
هنا، حصلنا على قطعتين من الطباعة - تم تعريف إحداهما ضمن الوظيفة الرئيسية وهي "Hello World!" والآخر مستقل وهو "Guru99". عند تشغيل الدالة def main ():
- تتم طباعة "Guru99" فقط
- وليس الرمز "Hello World!"
ذلك لأننا لم نعلن النداء الدالة "if__name__== "__main__".
من المهم أنه بعد تعريف الدالة الرئيسية، يمكنك استدعاء الكود عن طريق if__name__== “__main__” ثم تشغيل الكود، وعندها فقط ستحصل على الناتج “hello world!” في وحدة التحكم البرمجية. ضع في اعتبارك الكود التالي
التعريف الرئيسي () مثال 2
def main():
print("Hello World!")
if __name__ == "__main__":
main()
print("Guru99")
تتم طباعة Guru99 في هذه الحالة.
وهنا التوضيح ,
- متى Python يقرأ المترجم الملف المصدر، وسيقوم بتنفيذ جميع التعليمات البرمجية الموجودة فيه.
- متى Python يقوم بتشغيل "الملف المصدر" باعتباره البرنامج الرئيسي، ويقوم بتعيين المتغير الخاص (__name__) ليكون له قيمة ("__main__").
- عند تنفيذ الوظيفة الرئيسية في بايثون، ستقرأ بعد ذلك عبارة "if" وتتحقق مما إذا كان __name__ يساوي __main__.
- In Python "if__name__== "__main__" يسمح لك بتشغيل Python الملفات إما ك وحدات قابلة لإعادة الاستخدام أو برامج مستقلة.
المتغير __name__ و Python وحدة
لفهم أهمية المتغير __name__ في Python طريقة الوظيفة الرئيسية، ضع في اعتبارك الكود التالي:
def main():
print("hello world!")
if __name__ == "__main__":
main()
print("Guru99")
print("Value in built variable name is: ",__name__)
ضع في اعتبارك الآن أنه يتم استيراد الكود كوحدة نمطية
import MainFunction
print("done")
وهنا شرح الكود :
مثل ج، Python يستخدم == للمقارنة بينما = للمهمة. Python يستخدم المترجم الوظيفة الرئيسية بطريقتين
تشغيل مباشر:
- __الاسم__=__الرئيسي__
- إذا كانت العبارة == True، فسيتم تنفيذ البرنامج النصي الموجود في _main_
استيراد كوحدة نمطية
- __name__= اسم ملف الوحدة
- إذا كانت العبارة == false، ولن يتم تنفيذ البرنامج النصي الموجود في __main__
عند تنفيذ الكود، سيتم التحقق من اسم الوحدة باستخدام "if". تضمن هذه الآلية تنفيذ الوظيفة الرئيسية فقط كتشغيل مباشر وليس عند استيرادها كوحدة نمطية.
الأمثلة المذكورة أعلاه هي Python 3 رموز، إذا كنت تريد استخدامها Python 2، يرجى مراعاة الكود التالي
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3. لا تحتاج إلى استخدام if__name. يعمل الكود التالي أيضًا
def main():
print("Hello World!")
main()
print("Guru99")
ملاحظة: تأكد من ترك مسافة بادئة بعد تعريف الدالة الرئيسية وعدم إعلان الكود أسفل الدالة def main(): مباشرةً وإلا فسيؤدي ذلك إلى حدوث خطأ في المسافة البادئة.




