isFloat: Without Exception-Handling

sismex01 at hebmex.com sismex01 at hebmex.com
Wed Sep 18 17:48:50 CEST 2002


> 
> Is there a way to write the following
> method without using exceptions?
> 
> def isFloat(string):
>      is_float=1
>      try:
>          float(string)
>      except:
>          is_float=0
>      return is_float
> 
> print isFloat("asdf") # --> 0
> print isFloat("0.1")  # --> 1
> 
> Somehow I don't like to catch exceptions. Maybe
> that's because my first language was C.
> 
>   thomas
> 

Catching exceptions in Python is quicker than in other
languages, because of internal implementation issues.
So, you could rewrite the following like this:

def isFloat(S):
  R = 0
  try:
    float(S)
    R = 1
  finally:
    return R

A bit shorter, and more concise, since using "except:" is
bad form (you're not specifying which exception you're
interested in catching), and "finally:" says what you
really meant: "In the end, return R, no matter what
happens".

HTH

-gus




Advertencia: 
La informacion contenida en este mensaje es confidencial y restringida y
esta destinada unicamente para el uso de la persona arriba indicada, Esta
comunicacion representa la opinion personal del remitente y no refleja
necesariamente la opinion de la Compañia. Se le notifica que esta
estrictamente prohibida cualquier difusion, distribucion o copia de este
mensaje. Si ha recibido esta comunicacion o copia de este mensaje por error,
o si hay problemas en la transmision, favor de comunicarse con el remitente.


Todo el correo electrónico enviado para o desde esta dirección será
procesado por el sistema de correo corporativo de HEB. Tal correo
electrónico esta sujeto a ser almacenado y puede ser revisado por alguien
ajeno al recipiente autorizado con el propósito de monitorear que se cumplan
las normas de seguridad de la empresa.




More information about the Python-list mailing list