تخيل لديك ملف اسمه 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)