[pyar] Desarrollo rápido de un miniparser muy básico

Sebastian Bassi sebastian.bassi en globant.com
Vie Mar 25 13:00:26 ART 2011


2011/3/25 Gustavo Campanelli <gedece en gmail.com>:
> Te agradezco las recomendaciones, realmente siempre vienen bien.
> Entiendo la razón de lo de las guías de estilo, pero me gustaría saber
> porque es mejor usar  if '<title>' in reglon: en lugar de usar if
> renglon.find('<title>') <> -1:

Es que find directamente no hay que usarla. Find fue pensada para
encontrar DONDE está un elemento en un iterable. A vos no te importa
eso, en este caso lo que queres saber es si está el elemento o no, no
te importa en ese momento el donde.
Te preguntaras porque entonces la hicieron capaz de responder si está
o no si no es para eso. Supongo que lo hicieron y luego se
arrepintieron porque se dieron cuenta que devolver un numero (-1) que
no tiene relación con la realidad (porque no es que el elemento está
en la posicion -1, sino que no esta) puede ser para problemas si
alguien toma ese dato y lo usa para otra cosa y arrastraria un error,
tené en cuenta que en Python existe la posición -1, que es el primero
contando desde atras.
Entonces lo ideal es que si queres saber si un elemento está presente,
usa el operador de pertenencia (in), si luego queres saber la
posición, usá index.

> Es que una de mis manías es saber porque hago las cosas.

Está perfecto lo que haces, programar sin saber el porque de lo que
haces seria hacer cargo cult programming:
http://www.hanselman.com/blog/CargocultProgramming.aspx
http://en.wikipedia.org/wiki/Cargo_cult_programming



More information about the pyar mailing list