Class definition within function

2006-08-02 Thread Tomi Lindberg
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):

Re: Class definition within function

2006-08-02 Thread Diez B. Roggisch
Tomi Lindberg wrote: 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):

Re: Class definition within function

2006-08-02 Thread Kay Schluehr
Tomi Lindberg wrote: 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)? def f(): class C(object): def __init__(self): self.a = 'a' f.C = C return C() f.C class

Re: Class definition within function

2006-08-02 Thread Tomi Lindberg
Diez B. Roggisch wrote: No, its not. Only inside of it. And the question really is: why? Thanks. And no need to worry, the question was intended as fully theoretical. -- Tomi Lindberg -- http://mail.python.org/mailman/listinfo/python-list

Re: Class definition within function

2006-08-02 Thread Peter Otten
Tomi Lindberg wrote: 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

Re: Class definition within function

2006-08-02 Thread Tomi Lindberg
Peter Otten wrote: By the way you get an instance of a different class C every time you call f, so that isinstance(f(), type(f()) is False. That I didn't know. Well, that theory won't be seeing much practice I guess. -- Tomi Lindberg --

Re: Class definition within function

2006-08-02 Thread Diez B. Roggisch
Kay Schluehr wrote: Tomi Lindberg wrote: 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)? def f(): class C(object): def __init__(self): self.a = 'a' f.C = C

Re: Class definition within function

2006-08-02 Thread Rick Zantow
Duncan Booth [EMAIL PROTECTED] wrote in news:[EMAIL PROTECTED]: def f(): class C(object): def __init__(self): self.a = 'a' return C() x = f() x.a 'a' y=f.C() Of course there's this: def f(): ... class C(object): ... def