On Mon, 23 Feb 2009 08:02:17 -0200, Gabriel Genellina wrote:

> En Mon, 23 Feb 2009 07:40:47 -0200, Kless <jonas....@googlemail.com>
> escribió:
> 
>> How to access from a class variable to one that is initialized on the
>> constructor?
>> --------------
>> class Foo():
>>   foo = bar  # I want to access *from here* to variables created on
>> the constructor.
>>
>>   def __init__(self, bar_init):
>>     self.bar = bar_init
>> --------------
> 
> Unless I misunderstand you, you can't do that. Class variables are
> shared by all instances and don't depend on a particular instance - they
> exist even *before* any instance is created.


Please don't use the term "class variables" to mean class *attributes*, 
it makes my brain hurt. If a string variable is a string, and an int 
variable is an int, and a bool variable is a bool, a class variable 
should be a class.

What you can do is shift the creation of the class attribute to the 
constructor, instead of when the class is created:

class Spam():
    def __init__(self, bar_init):
        self.__class__.foo = bar_init



But I'm not sure why you would want to.



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

Reply via email to