[Tutor] Declaration order of classes... why it is important?
Mac Ryan
quasipedia at gmail.com
Wed Aug 26 23:52:34 CEST 2009
On Wed, 2009-08-26 at 15:46 -0400, Dave Angel wrote:
> So define a classmethod to finish the job, and invoke it later
>
> class Employee(object):
> @classmethod
> def finish(cls):
> cls.__storm_table__ = "employee"
> cls.company_id = []
> cls.company = Company.id #where Company is a forward
> reference
> del cls.finish #remove this method so it won't be called a
> second time
>
> class Company:
> id = 42
>
> Employee.finish() #This finishes initializing the class
>
>
> help(Employee)
> print Employee.company_id
First things first, thank you Wayne, Kent and Dave for your extensive
and complementary explanations. As many things in python, what it seemed
obscure at first now - with your help - seems perfectly obvious.
Second thing: the example that Dave gave me and that I left quoted above
makes use of decorators, but this is something that I still do not
understand. I believe I got a grasp of the concept of metaclasses, to
which the concept of decorator seems to be related, but the official
documentation is a a bit obscure for me.
I don't want to steal your time asking for an explanation that probably
is already somewhere out there, but my google searches did not return
anything useful (I assume I am using the wrong keywords here), so if you
have a good pointer for me, I would be very grateful. :)
Mac.
More information about the Tutor
mailing list