Вы можете использовать прямые ссылки в подсказках типов с python> = 3.5.
def resolve_notehead_wrt_staffline(notehead: 'CropObject', staffline_or_ledger_line: 'CropObject') -> int:
"""blahh blah"""
from muscima.cropobject import CropObject
...
Но даже если вы это сделаете, это не исправит подсказку в вашем случае.Здесь я бы предложил не выполнять импорт из функции.
edit: я немного потушил это и понял, что легко просто сказать " не делай этого ", но беззная, почему это не очень полезно.
PEP8 говорит, что вы не должны импортировать нигде, кроме как вверху файла, но время от времени у нас появляется «очень хорошо»причина "сделать это в другом месте.
В вашем случае функция ожидает, что модуль уже был импортирован, в противном случае объекты аргументов не будут существовать.В таком случае вы могли бы также поместить импорт куда-нибудь за пределы этой функции.