Я отвечу на вопросы 1 и 2.
1) Это зависит от многого. Если ваши классы малы, тогда все в порядке, чтобы поместить их в один и тот же файл. Если они становятся большими, они обычно хранятся в отдельных файлах.
2) Нет, не обязательно быть основным методом. Тем не менее, для сценария, это могучая общая идиома:
def main():
# Your code
# At the bottom of the file
if __name__ == '__main__':
main()
Таким образом, ваш main
получит только пробег, когда файл запускается как сценарий, но он не будет работать при импорте в качестве модуля , Python будет просто выполнять любой код, который он встречает не в функции при импорте модуля, поэтому это защитит вас, если вы захотите повторно использовать скрипт в качестве модуля позже.
Это просто идиома, main
не имеет особого значения в python, поэтому вам не нужно называть это или что-то еще.
Номер 1 является личным предпочтением, в отличие от Java, где я считаю необходимым, в python это не так. НО из того, что я видел, большинство людей вкладывают все свои классы в один файл, просто для упрощения импорта. я предпочел бы импортировать одну вещь и «импортировать класс», чем «import class1, class2, class3». – TehTris
Номер 2 - это то, что вы хотите. Обычно люди будут выставлять 'if __name__ ==" __main__ ": go()' (или что бы их главная функция не вызывала) в конце их файла python, и это заставит его запускать 'go()', как только его двойная нажата или загружена из командной строки – TehTris