Соглашения об именовании приватных методов и name mangling - это не про защиту от злонамеренных хакеров, взламывающих ваш код. Всё это для предотвращения непреднамеренно ошибочного использования объектов. В больших системах бывает сложно уследить, что один объект из сотен, в одном из тысяч возможных состояний программы не нарушает инварианты другого объекта. Весь ООП придумывался ради снижения сложности кода.
Потому что консоль - это разделяемый ресурс, конкурентный доступ к которому без синхронизации приводит к недетерминированному результату. Можно попробовать сбрасывать буфер потока вывода после каждого принта, но лучше просто не выводить одновременно.
Не знаю, как на Украине, а в России слух про невостребованность не соответствует действительности. Да, на PHP'шников вакансий больше, но у питонячих вакансий в среднем качество выше.
Во-первых, ошибка "cannot import name 'datetime' from partially initialized module 'datetime'", а не то, что у вас в заголовке вопроса написано. Во-вторых, нельзя называть скрипты так же, как импортируемые из них модули.
Это, очевидно, список объектов класса Stream. Соответственно, нужно обойти его, обращаясь на каждой итерации к соответствующему атрибуту. Задача чуть сложнее hello world.