POO operadors 2
La revisió el 16:34, 31 oct 2013 per Enric (discussió | contribucions) (Es crea la pàgina amb «Un altre exemple de POO: operadors el tindriem amb aquesta classe Client. Fixa't en què: * redefinim l'operador __lt__ (less than) * afegim el mètode __repr__ que …».)
Un altre exemple de POO: operadors el tindriem amb aquesta classe Client.
Fixa't en què:
- redefinim l'operador __lt__ (less than)
- afegim el mètode __repr__ que permet fer un print de l'objecte (molt pràctic per fer print de llistes d'objectes).
- en el main creem una llista de clients i la ordenem d'acord amb el nou operador.
#!/usr/bin/python
# -*- coding: utf-8 -*-
from random import randint
class Client():
nom = ""
nif = ""
despesa = 0
def __lt__(self,cli):
return self.despesa < cli.despesa
def __repr__(self):
return str(self.nom)+"("+str(self.despesa)+"€)"
clients = []
noms = ["Pere","Joan","Lluc","Sònia","albert","Laura"]
for nom in noms:
c = Client()
c.nif = "0000000X"
c.nom = nom
c.despesa = randint(0,10000)
clients.append(c)
print "CLIENTS"
print clients
print "\nORDENATS"
clients.sort()
print clients