خب به نظرم اولین و مهمترین نکته خوانایی کد هست و طبق PEP 8 باید ایمپورت ها رو اول کار بنویسین
https://www.python.org/dev/peps/pep-0008/#imports
اینم چندتا لینک دیگه :
https://stackoverflow.com/questions/128478/should-import-statements-always-be-at-the-top-of-a-module
https://softwareengineering.stackexchange.com/questions/380307/why-should-imports-be-made-at-the-beginning
درباره ایمپورت درون تابع:
اگر ایمپورت رو درون تابع قرار بدین، هربار که تابع رو صدا بزنین تمام عبارات داخل بدنه تابع (که شامل ایمپورت هم میشه) اجرا میشه.
سلام.
ببین پایتون یه زبون مفسریه این یعنی خط به خط شروع میکنه کارارو انجام میده.
پس خیلی فرقی نمیکنه که حتما ایمپورت رو اول صفحه بنویسی ولی یه چیزی داریم بنام دیزاین پترن اینا چیزایی هستن که اگه رعایتشون نکنی کدت درست کار میکنی ولی کد کثیفیه ایمپورت کردن پکیج ها در اول فایل یکی از این دیزاین پترناست.
اگه میخوای بیشتر بدونی میتونی راجب دیزاین پترن توی پایتون تحقیق کنی
موفق باشی.
شاید پاسخ شما همینجا باشد