[Web-SIG] OT: dotted names (Was: Re: A Python Web Application Package and Format)
exarkun at twistedmatrix.com
exarkun at twistedmatrix.com
Sat Apr 16 00:23:52 CEST 2011
On 06:22 pm, alice at gothcandy.com wrote:
>On 2011-04-15 11:02:17 -0700, Jim Fulton said:
>>On Fri, Apr 15, 2011 at 1:32 PM, Éric Araujo <merwok at netwok.org>
>>wrote:
>>>As an aside, I wonder why people use dot+colon notation instead of
>>>just dots to reference callables. In distutils2 for example we
>>>resolve dotted names to find command classes, command hooks and
>>>compilers. So what 19s the benefit, marginally easier parsing?
>>
>>An opportunity of using a colon is that it allows::
>>
>> dotted.module.name:expression
>>
>>where expression may be more than just a name::
>>
>> foo.bar:Bar()
>
>Or foo.bar:Baz.factory.
>
>I wouldn't go so far as to eval() what's after the colon. The real
>difference is this:
>
>[foo.bar]:[Baz.factory]
>| ^- Attribute lookup.
>^- Module lookup.
>
>You can't do this:
>
>import foo.bar.Baz.factory
But you can certainly imagine a function `foo` which accepts
"foo.bar.Baz.factory" and returns the appropriate object. The ":"
doesn't really buy you anything.
Jean-Paul
More information about the Web-SIG
mailing list