Open Bongazo opened 2 years ago
Hola, para distinguir si debe o no ser una property debes hacerte la siguiente pregunta:
Si es asi necesita un setter. Podrias ampliar esto a los getters.
Si es asi necesita un getter
Me queda claro! Muchas gracias, tengo una ultima duda. Es posible definir un setter sin definir un getter?
Así es! 😱 Sin emabrgo, seria algo extraño ya que las properties son un atributo más y por ende seria como definir un atributo que no se puede leer, solo modificar. Esto se logra con la función property
class A:
def __init__(self):
self._vida = 100
def vida(self, new_value):
self._vida = new_value
vida = property(None, vida)
Si ahora queremos ver el valor de vida
el programa se cae, pero si queremos modificarlo no se cae. Si lo que quieres es ahorrar escribir el getter podrías hacer
vida = property(lambda self: self._vida, vida)
Esto lo saque de aqui
El comportamiento de las funciones lambda se verá al final del curso.
Prerrequisitos
(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")
Duda
Hola! Definí properties para algunos atributos de la clase Programon y respectivos metodos Setter, sin embargo, ahora que lo hice, no sé muy bien qué atributos podrían/tendrían que ser properties igualmente, tanto en la clase programon con el resto de sus atributos, como para el resto de las clases. Me hace el mismo sentido que todos los atributos variables de las clases sean properties como asimismo no lo sean. h e l p Saludos y gracias de antemano.