Continuando con el aprendizaje de Python, concretamente en el apartado de clases, encapsulacion y esas cosas, me topado con un problemilla...
Este problemilla es property, buscando que era y como se usaba he encontrado informacion al respecto que me ha quedado claro qué es.
Ahora bien, intentando ejecutar el siguiente ejemplo:
Código Python:
Ver original
class ser_humano(object): def __init__(self, edad, altura, peso): self.__edad=edad self.__altura=altura self.__peso=peso def __getPeso(self): return self.__peso def __setPeso(self, peso = None): self.__peso = peso def __getAltura(self): return self.__altura def __setAltura(self, altura = None): self.__altura = altura def __getEdad(self): return self.__edad def __setEdad(self, edad = None): self.__edad = edad peso = property(fget = __getPeso, fset = __setPeso, doc = 'Peso') edad = property(fget = __getEdad, fset = __setEdad, doc= 'Edad') altura = property(fget = __getAltura, fset = __setAltura, doc = 'Altura') a = ser_humano(29,1.65,98) a.peso
Desconozco el porque me tira el siguiente error:
peso = property(fget = __getPeso, fset = __setPeso, doc = 'Peso')
NameError: name '__getPeso' is not defined
¿Por qué dice que no esta definida? ¿Por que es privada?
Estoy usando la ultima versión de Python.
Muchas gracias,