Como usar decoradores Python para verificar os argumentos da função?

Eu gostaria de definir alguns decoradores genéricos para verificar os argumentos antes de chamar algumas funções.

Algo como:

@checkArguments(types = ['int', 'float'])
def myFunction(thisVarIsAnInt, thisVarIsAFloat)
    ''' Here my code '''
    pass

Notas laterais:

A verificação de tipos está aqui apenas para mostrar um exemploEstou usando o Python 2.7, mas o Python 3.0 também deve ser interessante

questionAnswers(8)

yourAnswerToTheQuestion