[Web-SIG] OT: dotted names (Was: Re: A Python Web Application Package and Format)

Alice Bevan–McGregor alice at gothcandy.com
Fri Apr 15 20:22:11 CEST 2011


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’s 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

Thus the difference.  However, the syntax is actually more flexible than that:

[foo.bar]/[subfolder/file]
 |         ^- Sub-path.
 ^- Module.

/[foo/bar]
  ^- Just path.

	— Alice.




More information about the Web-SIG mailing list