En Sat, 29 Aug 2009 04:34:48 -0300, zaur <szp...@gmail.com> escribió:
On 29 авг, 08:37, "Gabriel Genellina" <gagsl-...@yahoo.com.ar> wrote:
En Fri, 28 Aug 2009 15:25:55 -0300, zaur <szp...@gmail.com> escribió:
> On 28 авг, 16:07, Bruno Desthuilliers <bruno.
> 42.desthuilli...@websiteburo.invalid> wrote:
>> zaur a écrit :

>> > Ok. Here is a use case: object initialization.

>> Err... Looks like you really should read the FineManual(tm) -
>> specifically, the parts on the __init__ method.

> What are you doing if 1) classes Person and Address imported from
> foreign module 2) __init__ method is not defined as you want?

Welcome to dynamic languages! It doesn't matter *where* the class was  
defined. You may add new attributes to the instance (even methods to the class) at any time. [...4 examples...]

I know about these ways of object initializing. What I said is about
using object's dictionary as nested scope in code block. Object
initialization is just one use case.
So we say about different things.

Well, you asked how to proceed in certain cases and I showed several ways it can be done right now, without requiring a new scope. You'll have to think of another use case.

Attribute lookup is explicit in Python, and that's a very good thing. If you follow the python-ideas thread posted earlier, you'll see the kind of problems an implicit attribute lookup would cause. The "with" statement is necesary (and a good thing) in Pascal, but not in Python.

Zope2 departs from this explicitness: it has a <dtml-with> construct (similar to what you propose), and I hate it profoundly every time I have to edit a DTML file - I can never tell *where* an attribute comes from. Another related "feature" is acquisition, a stack of namespaces where objects "inherit" attributes from their containers. Same thing, a complete waste of time every time I have to track a bug.

Unless you can find a very compeling use case, I don't think this feature will become part of the language anytime soon...

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to