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