-- DavidLambert 2007-07-18 14:49:27
Nameless functions, nameless types.
Please, what is purpose of name argument to new type call?
''' $ python Python 2.5.1 (r251:54863, Jun 25 2007, 14:55:49) [GCC 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)] on cygwin ''' cls1 = type('*',(object,),{}) # create type named by asterisk. # del * # silly. # del '*' # silly. cls2 = type('*',(object,),{'f':lambda s,x: x*3}) # cls1().f('abc') # causes expected AttributeError cls2().f('abc') == 'abcabcabc' # class name unused str(cls1) == "<class '__main__.*'>" str(cls2) == "<class '__main__.*'>" # so what, the classes differ. cls_named = type('valid_name',(object,),{}) # del valid_name # raises NameError class C(object): pass del C