On 06:22 pm, [email protected] wrote:
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 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
[email protected]
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