Is there a particular way to force a value to be an int by either
converting it with int() or returning a default value.
I don't think it exists.
I think that would be a difficult thing to do in a generic way.
The potential for inadvertant data loss is very high.
I've ended up writing my own function to do it,
I assume you mean something like:
def forceInt(v, default=42):
try: result = int(v)
except: result = default
return result
but if you do
class C: # lots of stuff in here
pass
c = C()
v=forceInt(c)
You could lose all the data in C.
I suppose that if you make the default non defaulted - so you have
to provide a default - that would be better, the default could then
be the object itself
v = forceInt(c,c)
Is that what you mean?
Alan G
___
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor