[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