В Java этот вопрос прост (если немного утомительно) - для каждого класса требуется собственный файл. Таким образом, количество файлов .java в проекте - это количество классов (не считая анонимных/вложенных классов).
В Python, тем не менее, я могу определить несколько классов в одном файле, и я не совсем уверен, как найти точку, в которой я раскол. Кажется неправильным сделать файл для каждого класса, но он также чувствует себя не так, просто по умолчанию оставить все в одном файле. Как узнать, где разбить программу?