Рекомендации по поводу расположения функций в коде#

В PEP8 нет рекомендаций по этому поводу.

Если скрипт в одном файле, обычно порядок такой:

  1. shebang, file encoding

  2. docstring модуля

  3. импорт (модули стандартной библиотеки, сторонние модули, свои скрипты)

  4. константы

  5. все функции в условно произвольном порядке, тут уже надо самостоятельно решить как удобнее

  6. функции/код для создания CLI если есть

  7. Часто, если есть код который надо писать глобально создают функцию main

  8. if __name__ == "__main__": и вызов функции main или глобального кода, который вызывает функции

При этом среди функций обычно выбирают для себя какой-то порядок, чтобы он был плюс-минус однотипным в разных файлах. Например, сначала пишутся общие функцие, которые не зависят от других функций в файле, потом те что зависят. При этом обычно есть какой-то порядок выполнения действий: подключились на оборудование и считали вывод, парсим его, записали результат в файл - тогда соблюдаем этот порядок в функциях.

Примечание

О структуре больших проектов. И еще одна ссылка по этой же теме, с примерами структуры проектов Flask/Django.