Forum
>>
Principianti
>>
Contare il numero di istanze di una classe definita
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da ziczac |
2023-07-17 20:43:02 - Contare il numero di istanze di una classe definita
|
Ciao a Tutti,
sono nuovo nel forum e piuttosto principiante nell'uso di Python. Qualcuno saprebbe dirmi come contare il numero di istanze di un oggetto dato (creato da me)? Grazie |
|
Scritto da nuzzopippo |
2023-07-18 07:35:43 - Re: Contare il numero di istanze di una classe definita
|
Python Ti mette a disposizione le funzioni built-in isinstance(object, classinfo) e type(...), oltre altre ancora per valutazioni più approfondite.
Supposto di voler verificare quanti generici oggetti di un tipo da Te definito sono contenuti in una lista potresti fare qualcosa così : Python 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0] on linux Type "help", "copyright", "credits" or "license()" for more information. def to_instance(obj, coll): count_match = 0 obj_type = type(obj) for item in coll: if isinstance(item, obj_type): count_match += 1 return count_match class Point3D: def __init__(self, x, y, z): self.x = x self.y = y self.z = z data = ['Apelle', 2, 27, Point3D(1, 1, 1), 'Caravaggio', -1, Point3D(0, 1, 0)] to_instance(Point3D(2,2,2), data) 2Come vedi dal codice ho definito una funzione che ricevuto un oggetto ed una lista, o tupla, conteggia quanti oggetti del tipo di oggetto ricevuto sono contenuti nella lista facendo uso delle due funzioni citate. Naturalmente, il codice sopra è solo una indicazione generica e di massima per darTi un "la", non ha nessuna aspirazione ad essere usato in produzione. Fatti non foste a viver come bruti... |
Pagina: 1
Esegui il login per scrivere una risposta.