This should be a simple question...
Neal Becker
ndbecker2 at gmail.com
Fri Mar 6 09:08:17 EST 2009
Bruno Desthuilliers wrote:
> Neal Becker a écrit :
>> Maybe I'm missing something obvious here
>>
>> def A (...):
>> #set a bunch of variables
>> x = 1
>> b = 2
>> ...
>>
>> Do something with them
>>
>> def B (...):
>> #set the same bunch of variables
>> x = 1
>> b = 2
>> ...
>>
>> Do something with them
>>
>> I want to apply DRY, and extract out the common setting of these
>> variables
>> into the local scope of the functions A and B. How to do this? (Other
>> than just setting them in the module scope)
>
> If your "variables" are literal constants common to the whole module,
> and are *not* modified within the functions, the obvious answer is to
> define them as module level (pseudo) symbolic constants.
>
> Else, please provide more background.
>
> --
They are just a bunch of variables, but I don't want to put them into module
scope because there may be other functions C and D with different settings.
Of course I could collect them into an object and refer to them as o.x.
Requires more typing though.
What if I had:
my_obj = common_variables()
That set all these attributes, but then with function A I inject them into
A's scope (shouldn't be too hard to do, I think)?
More information about the Python-list
mailing list