Строчка
if __name__ == '__main__': main()
позволяет интерпретатору python определить, какую функцию запускать в случае, если файл (пусть он называется скрипт1) запущен как основной (а не просто импортирован в другой скрипт
(пусть "другой файл скрипта" = "скрипт2") . Если скрипт1 запущен косвенным образом - например в скрипт2 был импортирован файл скрипт1 - и начато выполнение скрипт2 - в этом случае функция main() не будет запущена произвольно - то есть если это явно не указано в скрипт2 )