PEP 359: The "make" Statement
Azolex
cretin at des.alpes.ch
Sun Apr 16 08:25:16 EDT 2006
Steven Bethard wrote:
> Rob Williscroft wrote:
>> I don't know wether this has been suggested or not, but what about def:
>>
>> def namespace ns:
>> x = 1
>>
>> def type blah(object):
>> pass
>>
>> def property x:
>> def get():
>> return ns.x
>
> I think that's probably a bad idea because it would make people think
> that the statement acts like a function definition, when it actually
> acts like a class definition.
maybe this could be marked with an appropriate decorator ?
@namespace(mytype)
def ns(base1,base2) :
...
the decorator could take the function object apart, recover the bases
arguments, run the code with a referenced local dict...
hum, since in 2.4 exec allows a dict-like object as locals, it should
even be possible to hack together a pretty concise hierarchical xml
builder syntax embedded in current python - using neither the 'with' nor
the 'make' statement, but simply defs ! Note that only the root of the
(sub)tree would need to be a decorated "def" since embedded defs could
then be caught through the locals pseudo-dict.
Looks possible... at a first glance, the one thing that's unclear (to
me) is how to deal with closure variables. To learn more, my tendency
would be to launch a challenge :
"Simulate function call and execution using an exec statement, as
precisely as possible"
I'll repeat that question in another thread...
Best, az.
More information about the Python-list
mailing list