On 06:22 pm, al...@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 <mer...@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
_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com

Reply via email to