Python instances
Bengt Richter
bokr at oz.net
Thu Apr 21 14:01:10 EDT 2005
On Thu, 21 Apr 2005 07:58:14 -0400, Kent Johnson <kent37 at tds.net> wrote:
>Bengt Richter wrote:
>> The following shows nothing static anywhere, yet a class has been defined, an instance created, and
>> __init__ called with initial value, and the value retrieved as an attribute of the returned instance,
>> and it's all an expression.
>>
>> >>> type('C', (), {'__init__': lambda self,v:setattr(self,'foo',v)})('hello').foo
>> 'hello'
>
>I have no idea what point you are trying to make, except maybe that it is possible to obfuscate a
>simple class definition.
>
I may have misunderstood your point ;-) I was just trying to add an exclamation point.
I.e., everything happening above shows that you don't need to have a name bound to the class
as in class C:pass, nor do you need to "put" and instance "somewhere", as in in inst = C('hello'),
and you don't need to do that to get inst.foo from all of the preceding. I.e., whatever the OP
thinks about assigning/binding, it's not an absolutely necessary part of any of the preceding.
Regards,
Bengt Richter
More information about the Python-list
mailing list