Еще раз о __name__ и __main__
Хотелось бы еще раз обратить внимание на использование специальных символов с двумя подчеркиваниями __name__ и __main__.
Давайте напишем два простых скрипта.
Что вообще с этим скриптом? Если этот скрипт будет выполнен через сам Python, то есть через CMD, то интерпритатор посмотрит на __name__ и он будет равен __main__. И вывод будет 'call a converting func that you want' вот такой. else ветка будет работать тогда, когда наш скрипт был не выполнен через Python напрямую, а был заимпортирован через ключевое слово import.
Создадим еще один файлик, он будет вызывать наш конвертер:
import converter print(converter.to_miles(10))
Теперь находясь в Anaconda Prompt мы можем проверить, что будет, если мы напрямую запустим наш конвертер и через скрипт выше:
Короче говоря if __name__ == '__main__' обрабатывает два случая, когда скрипт был запущен напрямую и когда скрипт был импортирован. В обоих случаях мы можем хотеть делать что-то разное и как раз это те блоки кода, которые потребуются нам, чтобы предпринять что-то в том или ином случае.