2009-02-27 21 views

Respuesta

21

¿Es posible en Python para crear una propiedad con el mismo nombre que el nombre de la variable miembro de

No. propiedades, miembros y métodos todos comparten el mismo espacio de nombres.

la declaración en el marcador llego desbordamiento de pila

evidente. Intenta establecer i, que llama al colocador para la propiedad i, que intenta establecer i, que llama al colocador para la propiedad i ... ad stackoverflowum.

El patrón habitual es hacer que el miembro de valor backend convencionalmente no pública, póngale como prefijo '_':

class X(object): 
    def get_i(self): 
     return self._i 
    def set_i(self, value): 
     self._i= value 
    i= property(get_i, set_i) 

Nota debe utilizar objetos de nuevo cuño ('objeto' subclase) de ' propiedad 'para que funcione correctamente.

+0

+1, pásame :) – Kiv

+1

-1: olvídate de citar la documentación: http://docs.python.org/library/functions.html#property –

+2

+1 para "ad stackoverflowum" :) –

Cuestiones relacionadas