Jak używać dekoratorów Pythona do sprawdzania argumentów funkcji?

Chciałbym zdefiniować kilka ogólnych dekoratorów, aby sprawdzić argumenty przed wywołaniem niektórych funkcji.

Coś jak:

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

Uwagi dodatkowe:

Sprawdzanie typu jest tutaj, aby pokazać przykładUżywam Pythona 2.7, ale Python 3.0 też powinien być interesujący

questionAnswers(8)

yourAnswerToTheQuestion