FAQ

Nick Keighley wrote:

Hi,

I'm a Python beginner and I'm would like to write a function that
returns a class (perhaps a tad ambitious...). I've looked through
the FAQ and perused "Python In A Nutshell" (not a good book to
start with?). The only example I found in PiaN used a simple
If you're an experienced programmer with other languages then
the Nutshell should be helpful -- if you're a newbie to programming,
you should start with easier books (but with the kind of tasks
you're setting yourself I guess you aren't). I didn't particularly
emphasize metaprogramming in the Nutshell -- it's more of a "gee
whiz" kind of thing and the Nutshell aims to cover solid, everyday,
bread-and-butter usage.
if statement to return one of a selection of pre-existing classes.
I'd like to generate a class on-the-fly from a parameter (a dictionary).
How do you want to use that dict -- as the class's dict? Then either:

def makeaclass(fromdict):
class X: pass
X.__dict__ = fromdict
return X

or

def makeaclass(fromdict):
class X: pass
X.__dict__.update(fromdict)
return X

might be helpful.

Can Python do this sort of stuff? Does the mean I have to mess with
the dreaded meta-classes?
Metaclasses may be easier to use than sufficiently-general class-building
functions, actually -- no reason to dread them. But anyway, yes, Python
IS pretty good at metaprogramming, too, both with and without metaclasses.


Alex

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 6 of 7 | next ›
Discussion Overview
grouppython-list @
categoriespython
postedAug 20, '03 at 8:15a
activeAug 22, '03 at 12:07p
posts7
users6
websitepython.org

People

Translate

site design / logo © 2022 Grokbase