[Python-3000] Class Decorators + ctypes (Was: yes to class decorators)
Greg Ewing
greg.ewing at canterbury.ac.nz
Fri Nov 17 03:52:52 CET 2006
Talin wrote:
> One unresolved issue is what exactly gets assigned to 'x' and 'y' at the
> time the class definition is evaluated.
Seems to me it ought to be some kind of descriptor.
It might be possible to do this reasonably without
any new syntax, e.g.
@cstruct
class MyStruct:
x = cfield("f")
y = cfield("f")
given a function cfield() that returns a suitable
descriptor.
> A different approach would be to say that the class decorator can
> overload the '__setattr__' method on the class itself during class creation:
But it doesn't work that way -- class attributes don't
go through __setattr__ during class creation. They go
into a dict that is passed to the type object's
constructor. The class doesn't even exist while the
class body is being evaluated.
--
Greg
More information about the Python-3000
mailing list