Re: OT: dotted names (Was: Re: A Python Web Application Package and Format)

Alice Bevan–McGregor <alice-h+KYGxXtFYrqlBn2x/[email protected]>
Newsgroups gmane.comp.python.web
Message-ID <[email protected]>
On 2011-04-15 11:02:17 -0700, Jim Fulton said:

> On Fri, Apr 15, 2011 at 1:32 PM, Éric Araujo 
> <[email protected]> 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.


_______________________________________________
Web-SIG mailing list
[email protected]
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: http://mail.python.org/mailman/options/web-sig/gcpw-web-sig%40m.gmane.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.