introspection and functions

Wildemar Wildenburger wildemar at freakmail.de
Fri Aug 24 02:18:57 CEST 2007


Ricardo Aráoz wrote:
> Ayaz Ahmed Khan wrote:
>   
>> "James Stroud" typed:
>>     
>>> py> def doit(a, b, c, x=14):
>>> ...   pass
>>> ...
>>> py> doit.func_code.co_argcount
>>> 4
>>> py> doit.func_code.co_varnames
>>> ('a', 'b', 'c', 'x')
>>> py> doit.func_defaults
>>> (14,)
>>>       
>> Neat.
>>     
> How do you know the 14 corresponds to x ?
>   
Well, there is one optional argument (len(doit.func_defaults)==1) and 
those *must* come after mendatory arguments. More generally: If a 
function has n optional args, they're the n last ones. There is never 
any ambiguity.

/W



More information about the Python-list mailing list