At Tuesday 26/12/2006 19:13, buffi wrote:

def doStuff():
  try:
    #Will throw exception if not set
    doStuff.timesUsed

Is this concidered bad coding practice since I guess persistent
variables in functions are not meant to be?

I don't think so, since Python proudly says that functions are first-class objects.
CherryPy does a similar thing to mark a method as "exposed".

But perhaps I'd write the code this way to avoid an unneeded and risky recursive call:

def doStuff(some, arguments, may, *be, **required):
    try:
        doStuff.timesUsed += 1
    except AttributeError:
        doStuff.timesUsed = 1
        # ... special case for first call ...
    # ...common code...

If you need to code something special for the 2nd and following calls, add an else: clause


--
Gabriel Genellina
Softlab SRL

        

        
                
__________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to