Scott David Daniels wrote:
Martin MOKREJŠ wrote:

.... If I put them into a module, it get's executed only once unless I

> do reload. And I'd have to use: "from some import *",

because mainly I'm interrested in assigning to self:
self.x = "blah"
self.y = "uhm"


OK, somewhere in here I think I get what you want to do.  Essentially
you want to set a lot of attributes on some object which is almost
always named "self", and the "set a lot of attributes" varies as
separate chunks.  The perfect application for a function (not a _pure_
function in the functional programming sense).  So, it is my opinion
that you want to define a function to call, not include code from some
other file.

Basically, doing in a class method def(self, a, b, c): self.a = a self.b = b self.c = c sounds stupid. With next instance I'll loose a, b, c, so I have to save then to a variable, "self." prefix is generally proposed way. But it's not surprising a gets to self.a, right? Actually, I thought about the *args tuple and even **kwargs, but I thought this will make the core even less readable. Thinking of it now, you'd probably do self.__dict__.update(kwargs), right? Hmm, but does it assign to self or not? I mean, does it equivalent to `a = 1' or `self.a = 1' ? The latter seem to be true, right?



How about:

Here are some "whole lot of variables" functions, put them in 'code.py':

    def do_a_bunch(obj):
        obj.a = 123
        obj.b = 3.141529
        obj.c = 'what on earth?'
        obj.author = u'Charles Dickens'
        ...

    def do_other_stuff(obj):
        obj.a = 123456789
        obj.b2 = 3.141529 ** .5
        obj.c = u'Where in Jupiter?'
        obj.author = u'Martin MOKREJŠ'
        ...

And here is how you use them:

    from code import do_a_bunch, do_other_stuff

    class SomethingOrOther(SomeSuperClass):
        def __init__(self, stuff, nonsense):
            SomeSuperClass.__init__(self, stuff)
            self.fiddle(nonsense)
            do_a_bunch(self)

        def some_other_method(self):
            ...
            do_a_bunch(self)


def mangle(self): ... do_other_stuff(self)


I'm newbie, sure.

That is why I was trying to figure out your original requirement, not how to accomplish your original plan. I was trying to see if there was a good reason you needed to use "#include" - like behavior. Does something like this address your problem?

This doesn't help me. ;) -- http://mail.python.org/mailman/listinfo/python-list

Reply via email to