On Mar 31, 2005, at 00:44, Kevin wrote:

I am sorta starting to get it. So you could use __init__ to ask for a
file name to see if there is one in a folder or not if there is then
open that file and conitue where that file left off. If its not there
create a new file with that name, then start the program? Or do I have
that all wrong?

Thanks
Kevin

Not exactly. By the time you instantiate a class, the program has already started.
Let's take an example: an Image class. It contains all the stuff needed to load, display, modify and save an image. These are the load(), display() and save() methods, for example.


If you want to load an image from a file and display it somewhere on the screen, what you would do is the following:

myImage = Image() # Creates a "blank" image
myImage.load("test.jpg") # Load the image from test.jpg
myImage.display(100, 100) # Displays the image at the position (100, 100)


Now, loading an image from the disk is actually a very common operation with this class -- creating a blank image would probably be the exception rather than the rule. Therefore, it makes sense to define a __init__() method like this:

def __init__(self, fileName=None):
    if fileName == None:
        # Create a blank image...
    else:
        self.load(fileName)


__init__() is the method that's called with the arguments you supply when instantiating the class. Since it is defined, you can now instantiate the class with an argument:


myImage1 = Image("test.jpg")  # Creates an image from the file "test.jpg"
myImage2 = Image()                              # Creates a blank image


Get the idea?

-- Max
maxnoel_fr at yahoo dot fr -- ICQ #85274019
"Look at you hacker... A pathetic creature of meat and bone, panting and sweating as you run through my corridors... How can you challenge a perfect, immortal machine?"



_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor

Reply via email to