Carl Banks wrote: > kelin,[EMAIL PROTECTED] wrote: >> It says the __init__ is called immediately after an instance of the >> class is created. What dose "immediately" mean? >> And what is difference between the init method and the constructor in >> Java? > > For all intents and purposes, __init__ is a constructor. It isn't > technically, but you use it exactly the same way you use constructors > in C++ and Java (well, acutally, Python __init__ is a quite bit more > flexible, though also less convenient in many cases). Don't worry that > it isn't called a constructor. > > In Python, the real constructor is called __new__, but you shouldn't > use __new__ like C++ and Java constructors. Usually there's no reason > to use __new__ at all. (The main use case is to return something other > than a newly created object, such as a preallocated or cached object. > For your normally functioning classes, you should use __init__.) numpy.ndarray is an exception. There, one must call __new__, or a factory function which does the same thing.
Colin W. > > > Carl Banks > -- http://mail.python.org/mailman/listinfo/python-list