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