stef mientki wrote: > hello, > > this question may look a little weird, > but I want to create library shells that are a simple as possible. > > So I've a module where one base class is defined, > which looks like this (and might be complex) > > base_class_file.py > class brick_base ( object ) : > .... > > now I've a lot of library files, > in each library file are a lot of classes, > and each library-file, has some specific parameters, like "library_color", > so something like this: > > library_file.py > library_color = ... > > class brick_do_something1( brick_base ) : > init : > self.Library_Color = Library_Color > .... > > class brick_do_something2( brick_base ) : > init : > self.Library_Color = Library_Color > .... > > Now this works fine, ... > ... but the statement "self.Library_Color = Library_Color" > is completely redundant, because it should be in every class of every > librray file. > So I would like to move this statement to the base-class-file, > but I can't figure out how to accomplish that.
You can use a hack like class Base(object): def __init__(self): module = __import__(self.__module__) self.library_color = module.library_color But I think it's better to add another level to the class hierarchy: class BrickBase(object): def __init__(self): self.library_color = self.library_color class LibraryBase(BrickBase): library_color = "blue" class BrickDoSomethingN(LibraryBase): pass (all untested) Peter -- http://mail.python.org/mailman/listinfo/python-list