Built-in functions and keyword arguments

Hendrik van Rooyen mail at microcorp.co.za
Mon Oct 29 13:03:34 EDT 2007


"Tim Chase" <python.list at tim.thechases.com>

> > I think you are being a little bit unfair here: help(len) says:
> > 
> > len(...)
> >     len(object) -> integer
> >     
> >     Return the number of items of a sequence or mapping.
> > 
> > which implies that the argument to len has the name 'object' (although in 
> > fact it doesn't have a name). 
> 
> And to confound matters even further for the uninitiated,
> 
> http://docs.python.org/lib/built-in-funcs.html#l2h-45
> 
> says that it's "len(s)" instead (but "len(s=[])" doesn't work either)

Looks like a gotcha to me - its the difference between a keyword
(master = 42) and an assignment  (s='I am a string')

You just can't do that - how is the parser supposed to know that
the second one is an assignment and not a keyword?

len([]) should work, though.

- Hendrik




More information about the Python-list mailing list