Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Entero:
- def __init__(self, nombre):
- self.nombre = nombre
- def __get__(self, instancia, clase):
- if instancia is None:
- return self
- else:
- return instancia.__dict__[self.nombre]
- def __set__(self, instancia, valor):
- if not isinstance(valor, int):
- raise TypeError('Se requiere un argumento de tipo entero.')
- instancia.__dict__[self.nombre] = valor
- def __delete__(selfself, instancia):
- del instancia.__dict__[self.nombre]
- class Punto:
- x = Entero('x')
- y = Entero('y')
- def __init__(self, x, y):
- self.x = x
- self.y = y
- if __name__ == '__main__':
- punto = Punto(2, 5)
- print(punto.x, punto.y) # Invocación implicita de Punto.x.__get__(punto, Punto)
- punto.x = 3 # Invocación de Punto.x.__set__(punto, 3)
- punto.y = 5.3 # Invocación de Punto.y.__set__(punto, 5.3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement