Class optimization at runtime

Dan Sommers me at
Wed Aug 4 13:21:09 CEST 2004

On Tue, 03 Aug 2004 23:46:32 +0200,
Peter Otten <__peter__ at> wrote:

> Jeff Shannon wrote:
>> Or even better:
>> if option:
>> import WithOption as FooModule
>> else:
>> import WithoutOption as FooModule
>> x = FooModule.Foo( )
>> (I twitch every time I see 'from X import *' ...)

Yep, you're right.  I always forget about the "as" option.

> That, and mixed-case module names -- and no, I'm not advertising
> all-uppercase here...

My mistake again.  The names I chose were for illustrative and
explicative purposes only; nothing else was (meant to be) implied.

For the record, then, it would look like this:

    if option:
        import optionon as optionmodule
        import optionoff as optionmodule

    x = optionmodule.Foo( )

(assuming we can live with an Initialcaps class name).

It also now strikes me that a package might be appropriate here:  Let sort things out and set up the package's namespace
accordingly; then the rest of the program would just use the package
obliviously.  But:

    - has to have access to the option variable (solutions
       abound; good solutions are less plentiful and vary over time and

    - given (a) my recent track record for getting the details correct
        and (b) my lack of experience with the package system, I humbly
        leave the rest of such a solution to the interested reader.


Dan Sommers
Never play leapfrog with a unicorn.

More information about the Python-list mailing list