Написать декоратор chkargs(тип1, тип2, …, типN), проверяющий, что у функции N параметров, и что они, соответственно, типа тип1, тип2, … , типN. В противном случае бросать исключение TypeError.

   1 @chkargs(int,str)
   2 def fun(*args):
   3     return args[0]*args[1]
   4 
   5 print fun(5,"Qq")
   6 try:
   7     print fun(2,3)
   8 except TypeError as ex:
   9     print ex
  10 try:
  11     print fun(5,"Qq",6)
  12 except TypeError as ex:
  13     print ex

QqQqQqQqQq
Parameter 1 of fun should be <type 'str'> (<type 'int'> given)
fun takes exactly 2 arguments (3 given)


CategoryHomework

Lectures/PythonIntro/Homework_ArgsChecker (последним исправлял пользователь Class1 2015-03-19 09:40:31)