عندما نقوم بتشغيل برنامج بايثون من الطرفية مباشرة باستخدام الأمر python script.py $
فنحن بذلك نريد تعيين نقطة بداية السكريبت يعني أن مفسر اللغة يقوم بتشغيل البرنامج انطلاقا من السطر الأول ثم ينتقل الى السطر الثاني وهكذا....
ولكن اذا كنت تريد أن تجعل من الكود الخاص بك أكثر تنظيما شاهد المثال التالي :
هذا جيد ولكن المشكلة الوحيدة هي عند استدعاء سكريبت من خلال سكريبت أخر أو from module import * حيث يقوم المفسر بتشغيل الدالة main() ولكن في حالتنا هذه لا أنصحك بها لأنه يجب استدعاء الدالة main() الا عندما يتم تنفيذ برنامجنا الرئيسي أولا ويمكننا تحقيق ذلك الا باستخدام
حيث يقوم هذا السطر بتنفيذ ماتحته اذا تم تشغيل الكود مباشرة ومن دون خاصية الاستيراد
وهكذا يمكنك من جعل الكود قابل للاستخدام من جديد
فنحن بذلك نريد تعيين نقطة بداية السكريبت يعني أن مفسر اللغة يقوم بتشغيل البرنامج انطلاقا من السطر الأول ثم ينتقل الى السطر الثاني وهكذا....
import module def my_function(): # الكود هنا x = my_function()
ولكن اذا كنت تريد أن تجعل من الكود الخاص بك أكثر تنظيما شاهد المثال التالي :
import module def my_function(): # code here def main(): x = my_function() # البرنامج يبدأ من هنا main()
هذا جيد ولكن المشكلة الوحيدة هي عند استدعاء سكريبت من خلال سكريبت أخر أو from module import * حيث يقوم المفسر بتشغيل الدالة main() ولكن في حالتنا هذه لا أنصحك بها لأنه يجب استدعاء الدالة main() الا عندما يتم تنفيذ برنامجنا الرئيسي أولا ويمكننا تحقيق ذلك الا باستخدام
__name__ == “__main__”
import module def my_function(): # code here def main(): x = my_function() # the program starts from here if __name__ == "__main__": main()
ليست هناك تعليقات:
إرسال تعليق