Are these good ideas?
Paul Bryan
pbryan at anode.ca
Mon Nov 14 12:30:13 EST 2022
Seems like this is a use case for context managers and/or context
variables:
https://docs.python.org/3/library/contextlib.html
https://docs.python.org/3/library/contextvars.html
On Mon, 2022-11-14 at 17:14 +0000, Stephen Tucker wrote:
> Hi,
>
> I have two related issues I'd like comments on.
>
> Issue 1 - Global Values
>
> Some years ago, I had a situation where
> (a) I could supply low-level functions that carry out tasks,
> (b) I needed those functions to communicate with each other, but
> (c) I had no access to the module that invoked my functions.
>
> In order to achieve this, I hit on the idea that I also supply a
> module
> that I describe as a "global values" module. This module …
> (i) … defines the values that the functions use to communicate with
> each
> other;
> (ii) … is the subject of an import statement in each of my functions;
> (iii) … initialises its values at the start of each run (since the
> import
> only carries out an actual import once per session);
> (iv) … acts as a repository for the values thereafter.
>
> This solution works well.
>
> Given that I am not particularly concerned about efficiency,
> (1) Is this a reasonable way to achieve this goal?
> (2) Do you know of any better ways?
>
> Issue 2 - Passed Parameters
>
> I am now facing another situation where I am wanting to pass 6 or 7
> parameters down through several layers of logic (function A calling
> function B calling ... ) and for results to be passed back.
>
> Having had the idea described above, I am considering using it again
> to
> save all the parameter-and-results passing.
>
> I see nothing wrong with doing that, but I may well be missing
> something!
>
> Comments, please!
>
> Stephen Tucker.
More information about the Python-list
mailing list