[Tutor] design of Point class
bob gailer
bgailer at gmail.com
Sat Aug 21 20:28:41 CEST 2010
On 8/20/2010 8:35 PM, bob gailer wrote:
> After yet more thought it gets even more better: I even added a unit test.
class PointND(list):
def __init__(self, *a_list):
super(PointND, self).__init__(a_list)
def getSet(ix):
def chklen(self):
if len(self) < ix + 1:
raise AttributeError
def get(self):
chklen(self)
return self[ix]
def set(self, value):
chklen(self)
self[ix] = value
return property(get, set)
def set(self, ix):
return s
x = getSet(0)
y = getSet(1)
z = getSet(2)
p = PointND(1,2,3)
assert (p.x, p.y, p.z) == (1, 2, 3)
p.x = 6; p.y = 9; p.z = 5
assert (p.x, p.y, p.z) == (6, 9, 5)
try:
p = PointND(1,2)
p.z = 3
except AttributeError:
print 'Passed all tests'
except:
print 'some other exception'
--
Bob Gailer
919-636-4239
Chapel Hill NC
More information about the Tutor
mailing list