En Python se usan propiedades en lugar de los getters, setters de estilo Java. Por lo tanto, rara vez se ve obtener ... o establecer ... métodos en las interfaces públicas de las clases.¿Debo usar los prefijos get_/set_ en los nombres de métodos de Python?
Pero en los casos en que una propiedad no es apropiada, uno puede terminar con métodos que se comportan como getters o setters. Ahora mis preguntas: ¿Deberían estos nombres de métodos comenzar con get_
/set_
? ¿O es esta verosidad unpythonic ya que a menudo es obvio lo que significa (y todavía se puede usar la docstring para aclarar situaciones no obvias)?
Esto podría ser una cuestión de gusto personal, pero me interesaría saber qué opina la mayoría al respecto. ¿Qué preferirías como usuario de API?
Ejemplo: Supongamos que tenemos un objeto que representa varias ciudades. Uno podría tener un método get_city_by_postalcode(postalcode)
o uno podría usar el nombre más corto city_by_postalcode
. Tiendo hacia el más tarde.
"los casos eran una propiedad no es apropiada" teniendo problemas con esto. Un ejemplo ayudaría. Las propiedades son tan útiles que es difícil imaginar un lugar donde serían inapropiadas. –
@ S.Lott: ¿Qué tal el ejemplo que proporcioné? No es un getter en el sentido habitual, pero 'get' podría ser el verbo más adecuado. – nikow