On 02/22/2013 09:26 PM, Robert Sjoblom wrote:
I would like to validate data attributes before the object is instantiated
or any changes thereafter. For example, following is a simple Person class
with name and age attributes. [snip] Following is my
example code:

class Person(object):
   def __init__(self,name,age):
     self.name = name
     self.age = age


You forgot to include the rest of the class as the OP defined it. Therefore your conclusion is entirely wrong.

You need a try/except, or some other form of validation here, otherwise:

b = Person("Johnny", "Six")
b.get_age()
'Six'

Is this a good approach? Any suggestions for improving the code or
alternative approaches would be helpful.

I can't help you with that question, since I'm still (!) wrapping my
head around objects and haven't really gotten around to looking at
data validation and when/how you should do it. I would probably use
try/except for the __init__ and the setter.


You only need it for the setter, and it's there. The setter is called by the initializer, through the call to property. Look up that mechanism.


--
DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to