def divorces(self):
if hasattr(self, 'spouse'):
self.spouse = None
True, spouse None, . , else, , .
- :
if self.spouse == None:
raise Exception('Not married')
__init__, :
if self.spouse == None:
del self.spouse
self.spouse None; , getattr().
, , , :
class personData ():
def __init__(self, age, spouse = None, children = 0):
self.age = age
self.children = children
self.spouse = spouse
def marries(self, name):
if self.spouse != None:
raise AttributeError("Already married")
self.spouse = name
def divorces(self):
if self.spouse == None:
raise AttributeError("Not married, divorce impossible")
self.spouse = None
person = personData(30, 'Sue')
person.divorces()
person.marries('Anna')
person.divorces()
person.divorces()
marries() :
try:
marries(self,name)
except Exception as detail:
print "spouse exists:", self.spouse
. , marries() ( ) self name .
:
self.marries(name)
marries() self. self Python, .
, . "Gotta catch" em - , , , , , .
( , ?)