Nombres de variables y funciones

Arnau Sanchez arnau en ehas.org
Mar Oct 3 20:38:12 CEST 2006


Daniel Cabrera escribió:

> Variables:
> _variable
> __variable
> __variable__
> 
> Funciones:
> _funcion
> __funcion
> __funcion__
> 
> No se si habra algun otro tipo que use igual ese patron, pero por lo que
> entendi tiene una razon usar esos nombres, lo que no queda claro es cuando
> se debe usar esa nomenclatura.

Éste es un tema muy amplio que no sólo concierne el nombre de variables, sino 
también el de métodos, clases, módulos, etc. Concretamente a lo que refieres en 
tu pregunta, sí hay dos cosas claras:

- __xxxx__: se usa para funciones o atributos muy específicos de un objeto 
(inicialización: __init__, documentación: __doc__, y un laaargo etcétera). No se 
recomienda utilizar este formato para otras cosas, ya que no sólo despistas al 
personal, sino que puede ser origen de incompatibilidades con futuras versiones 
de python.

- __xxx se usa para variables "privadas". Entre comillas porque son sólo 
privadas a efectos de no colisionar con otras variables de clases derivadas, no 
porque no se pueda acceder a ellas desde fuera de la clase (a traves del 
diccionario de la instancia). No existe por tanto, el típico "private" de otros 
lenguajes.

...

A pesar de que no haya normas impuestas por el lenguaje, sí hay algunas guías 
con indicaciones más o menos orientativas para que el código generado por 
difentes programadores tenga cierta homogeneidad. Por ejemplo:

  PEP de GvR:
http://www.python.org/dev/peps/pep-0008/

http://seesar.lbl.gov/ANAG/staff/sternberg/python-coding-standards.html

http://jaynes.colorado.edu/PythonGuidelines.html
(no funciona el enlace original, pongo el cache de google):
http://66.102.9.104/search?q=cache:TAQBFspDa4sJ:jaynes.colorado.edu/PythonGuidelines.html+%22As+project+size+increases,+consistency+increases+in+importance%22&hl=es&gl=es&ct=clnk&cd=1&client=firefox-a




Más información sobre la lista de distribución Python-es