Re: OT: dotted names (Was: Re: A Python Web Application Package and Format)
exarkun-wgPraSjSqjuEakHPNWoOSQC/[email protected]
| Newsgroups | gmane.comp.python.web |
|---|---|
| Message-ID | <20110415222352.1992.1197834268.divmod.xquotient.509@localhost.localdomain> |
On 06:22 pm, alice-h+KYGxXtFYrqlBn2x/[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/gcpw-web-sig%40m.gmane.org