Так все-таки... def func(x: int): # Что это дает? И как правильно наложить ограничение на тип входных данных в функцию? Напишите пожалуйста!
def foo(a:int) -> float
позволяет использовать специальную штуку, называется линтер, которая проверит, пытаешься ли ты в свои функции, где хочешь впихнуть инт, засунуть не его. Если ты хочешь проверять тип, то тебе нужно ловить exception, либо выходить, если не выполнилось условие сравнения типа.