31/08/16 14:27
davide94
Salve a tutti !
Avrei un problema in python di base.
Io ho una mia classe e gli ho ridefinito il metodo __str__ in modo che quando uso print invece di stamparmi il suo indirizzo mi stampa qualcosa di più utile come per esempio il nome.
Il problema è questo, quando faccio una lista e provo a stamparla per qualche motivo mi stampa di nuovo gli indirizzi invece di usare il metodo che ho ridefinito.
Vorrei sapere il perchè di questo dato che mi sembra strano.
Inoltre volevo chiedervi conferma sull'utilizzo del self._ che mi sembra di aver capito serva per le variabili private.
Sinceramente trovo la oop in python abbastanza ostile e con poca documentazione e codice, quindi se aveste da consigliarmi qualche fonte ve ne sarei grato.
Avrei un problema in python di base.
Io ho una mia classe e gli ho ridefinito il metodo __str__ in modo che quando uso print invece di stamparmi il suo indirizzo mi stampa qualcosa di più utile come per esempio il nome.
Il problema è questo, quando faccio una lista e provo a stamparla per qualche motivo mi stampa di nuovo gli indirizzi invece di usare il metodo che ho ridefinito.
Vorrei sapere il perchè di questo dato che mi sembra strano.
class Carta: def __init__(self,name): self._name=name def getName(self): return self._name def __str__(self): return self._name c1=Carta("A") c2=Carta("B") print(c1) print(c2) lista=[c1,c2] print(lista)
Inoltre volevo chiedervi conferma sull'utilizzo del self._ che mi sembra di aver capito serva per le variabili private.
Sinceramente trovo la oop in python abbastanza ostile e con poca documentazione e codice, quindi se aveste da consigliarmi qualche fonte ve ne sarei grato.
aaa