> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Jacob S. > Sent: Friday, December 17, 2004 3:54 PM > To: Kent Johnson > Cc: [EMAIL PROTECTED] > Subject: Re: [Tutor] "TypeError: 'int' object is not callable"?? > > Hey, could you give an example? > Thanks, > Jacob > > > > > apply() is deprecated; it has been replaced by 'extended > call syntax'. > Instead of > > apply(fn, args, kwds) > > you can now write > > fn(*args, **kwds) > > > > Kent
Here is a quick example I came up with: >>> def spam(*args, **kwargs): ... print "Here are the args you supplied:" ... for item in args: ... print item ... print ... print "Here are the kwargs you supplied:" ... for key,value in kwargs.items(): ... print key, '=', value ... >>> spam(1,'a','eggs',s=0, p=1, a=2, m=3) Here are the args you supplied: 1 a eggs Here are the kwargs you supplied: a = 2 p = 1 s = 0 m = 3 In the case of the spam() function, 1, 'a', and 'eggs' are all put into the sequence args (not sure if it is a list or tuple). The key/value pairs are bundled into the dictionary kwargs. The arguments have to be given in the right order though: >>> spam(t=1, b=1, 'this', 'will', 'fail') Traceback (SyntaxError: non-keyword arg after keyword arg HTH! Christian http://www.dowski.com _______________________________________________ Tutor maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/tutor