Copy constructors

James_Althoff at i2.com James_Althoff at i2.com
Mon Aug 13 14:31:05 EDT 2001


and when using 2.2

        class Temp: pass
        newbie = Temp()

can be replaced with

        from types import ObjectType
        newbie = ObjectType()

Jim




                                                                                                                   
                    "Alex Martelli"                                                                                
                    <aleaxit at yahoo.com        To:     python-list at python.org                                       
                    >                         cc:                                                                  
                    Sent by:                  Subject:     Re: Copy constructors                                   
                    python-list-admin@                                                                             
                    python.org                                                                                     
                                                                                                                   
                                                                                                                   
                    08/09/01 01:14 PM                                                                              
                                                                                                                   
                                                                                                                   




"David Smith" <drs at labs.agilent.com> wrote in message
news:3B72DCBA.C99465BC at labs.agilent.com...
    ...
> class I have at hand, __init__ does some real work, which I want to
> bypass -- I want to clone the results of that work.  I don't want to
    ...
> Is there a way for __copy__ to create a bare object of the same class,
> which it can proceed to populate?

Piece of cake:

class Fleep:
    def __init__(self, x, y, z):
        print 'lots',x,'of',y,'work',z
    def __copy__(self):
        class Temp: pass
        newbie = Temp()
        newbie.__class__=self.__class__
        print "very little work"


Alex



--
http://mail.python.org/mailman/listinfo/python-list








More information about the Python-list mailing list