В таких языках, как C и C++, обычно определять вызываемые функции выше своих вызывающих абонентов, чтобы избежать необходимости в форвардных объявлениях. Например:Порядок функций в исходном файле Python
void g() { ... }
void f() { g(); ... }
int main() { f(); ... }
В Python, если
if __name__ == '__main__':
main()
идиома используется в конце исходного файла, форвардные заявления являются ненужными и порядок функций не имеет значения.
Есть ли какое-либо соглашение о порядке выполнения функций в исходном файле Python? Вызываемые функции, которые все еще обычно записываются выше вызывающих, или наоборот?
Редактировать: Ответ заключается в том, что нет соглашения (например, в PEP 8 ничего нет) относительно порядка функций. Даже модули в стандартной библиотеке несовместимы.
Порядок функций в python * does * matter. Вы не можете вызвать функцию до ее определения. В C и C++ вы должны объявить функцию до того, как вы ее вызовите, либо в том, как вы показываете, либо с использованием прототипа. Python не поддерживает прототипы. – cdarke
Обычно это классы, затем функции, затем «голые» коды. – Zizouz212
Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что на него прямо ответили в документации к продукту. – KevinDTimm