Class definition within function

Tomi Lindberg tomi.lindberg.NO_SPAM at pp.inet.fi.invalid
Wed Aug 2 08:01:54 EDT 2006


Hi,

With the following function definition, is it possible to 
create an instance of class C outside the function f (and if 
it is, how)? And yes, I think this is one of those times 
when the real question is why :)

 >>> def f():
	class C(object):
		def __init__(self):
			self.a = 'a'
	return C()

 >>> x = f()
 >>> x.a
'a'
 >>> y=f.C()

Traceback (most recent call last):
   File "<pyshell#22>", line 1, in -toplevel-
     y=f.C()
AttributeError: 'function' object has no attribute 'C'
 >>>

--
Tomi Lindberg



More information about the Python-list mailing list