Рейтинг користувача: 0 / 5

Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка
 

Що означає, що робить і як працює конструктор в Python if __name__ == “__main__”:, чи потрібен він в коді, якщо інший раз і без нього програма працює?

Якщо не вдаватися в теорію (яку завжди можна прочитати на офіційних сайтах по пітону), то можна простими словами пояснити цей конструктор. Якщо він використовується в коді, це означає, що програма буде виконувати слідуючий після нього код, якщо даний файл запущений був від свого імені, а не звідки-небудь ще (наприклад, через іншу програму). Наприклад, в коді можна прописати певний метод, який буде працювати тільки тоді, якщо даний файл запущений від свого імені. А ось виклик даного методу прописати потрібно якраз після цього конструктора. Приклад нижче:

    
def main_method():
    print("This text will be shown if the file has been running on its own behalf")

if __name__ == '__main__':
    main_method()

Якщо спробувати прочитати даний конструктор, він логічний: якщо Ім'я == Головний, тоді виконується код. Думаю, новачкам так буде простіше запам'ятати значення і використання даного конструктора саме за такою розшифровкою. Тобто запускається даний файл як Головний або ж він імпортується. Якщо даний файл імпортується, код під даною умовою виконуватися не буде.