Buenas,
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 originalclass 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,