On Fri, 23 Sep 2005, Valone, Toren W. wrote:
> I am trying to noodle thru classes with python and I built the following > class. Hi Toren, Ah. Check your indentation: it appears that the definition of getday() is within the body of the class initializer __init__(). What ends up happening is that getday() is no longer a method definition, but an inner function definition. Python makes it very easy to define functions within functions, and what you have in effect is a function definition within the __init__() method definition, which is probably not what you want. Tip: if possible, always use four spaces for your indentation to make this error easier to see. Don't skimp on this. *grin* Also note that Python's class system does not make using 'self' optional, so when you're initializing the attributes of an instance in __init__: def __init__(self): remailfile = open('U:\Bounce20.txt', 'r') resendfile = open('resend.txt', 'w') EmailReport = open('erprt.txt', 'w') ... you need to tell Python not to treat these as local variables assignments. def __init__(self): self.remailfile = open('U:\Bounce20.txt', 'r') self.resendfile = open('resend.txt', 'w') self.EmailReport = open('erprt.txt', 'w') ... As a side note: escape the backslashes in your literal strings: otherwise, you'll run into issues. I'm assuming you're coming from a Java or C++ background, but if you need this point elaborated, please ask, and we'll go into more detail. If you have more questions, please feel free to ask. Good luck! _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor