0

Объясните пожалуйста мне использование вот такого выражения: if __name__ == '__main__'. Я не могу понять где, для чего и когда может это применяться. Я новичок.

Evgeniy
  • 43
  • https://ru.stackoverflow.com/questions/515852/%D0%A7%D1%82%D0%BE-%D0%B4%D0%B5%D0%BB%D0%B0%D1%8E%D1%82-if-name-main – USERNAME GOES HERE Jan 26 '20 at 18:19
  • 4
    Возможный дубликат вопроса: Что делают if __name__ == “__main__”? – USERNAME GOES HERE Jan 26 '20 at 18:19
  • Я читал данный вопрос, но я не понял почти всего что человек написал. Может кто-нибудь понятней объяснит, я имею ввиду как для новичка. – Evgeniy Jan 26 '20 at 18:28
  • Ну в двух словах: __name__ содержит "каким способом запущена прога" т.е "__main__" если вы просто запустили ее, а если нет, то вы импортировали ее как модуль. Так вот, if __name__ == '__main__' значит "Если программа именно запущена, а не импортирована:". Хотя вообще это используется для хорошего code-style. – USERNAME GOES HERE Jan 26 '20 at 18:38
  • Как понимать для хорошего code-style? – Evgeniy Jan 26 '20 at 18:43
  • Грубо говоря значит сделать код легче читаемым, соответствующим "традициям" языка. – USERNAME GOES HERE Jan 26 '20 at 18:44
  • @VictorsaysReinstateMonica, это не имеет отношения к читаемости - слабо себе представляю как включение if __name__ == '__main__' в код хоть как-то может улучшить читаемость. Это чисто техническая штука. – insolor Jan 26 '20 at 18:45
  • @insolor Ну да, я не точно сказал. – USERNAME GOES HERE Jan 26 '20 at 18:46
  • В итоге я понял что это выражение необходимо только для проверки импорта т.е. импортирована программа в другую прогу, или запущена сама по себе? Правильно? И больше не для чего она не используется? – Evgeniy Jan 26 '20 at 18:52
  • @Evgeniy, да, только для этого. – insolor Jan 26 '20 at 19:38

0 Answers0