È possibile implementare il metodo __str__(self)
per restituire una stringa. Esiste una controparte __list__(self)
? (__list__
non funziona!) Is .toList() la strada da percorrere?C'è un modo per definire il metodo list (obj) su una classe definita dall'utente in python?
5
A
risposta
15
Non esiste una controparte diretta, ma lo list()
viene implementato iterando sull'argomento. Quindi implementare sia the iterator protocol (__iter__()
) o bound indexing (__len__()
e __getitem__()
).
+1
più il fatto che questo lo rende conforme anche a tutto il resto del linguaggio. – dhke
Problemi correlati
- 1. Come definire una classe in Python
- 2. corretto modo per definire variabili di classe in Python
- 3. Qual è il modo migliore per definire una proprietà statica che viene definita una volta per sottoclasse?
- 4. Il modo migliore per definire una classe immutabile nell'obiettivo C
- 5. Definire alias del metodo in Python?
- 6. Python: come posso definire una classe in un doctest?
- 7. Dove definire un metodo non di classe?
- 8. Override + operatore in Python per float + obj
- 9. Chiamare il metodo statico su una classe?
- 10. Come si definisce un semplice metodo "min" in obj-c
- 11. Quale metodo definire su una classe Ruby per fornire dup/clone per le sue istanze?
- 12. Un modo semplice per verificare che una variabile sia definita in python?
- 13. Un buon modo per modificare la classe definita precedente in ipython
- 14. Posso definire un __repr__ per una classe piuttosto che un'istanza?
- 15. Definire metodo su relazione ActiveRecord
- 16. Per creare metodo generico per la varia classe definita utente in Java
- 17. Qual è il modo più veloce per verificare se una classe ha una funzione definita?
- 18. Definire una classe con argomento opzionale in Python
- 19. Come posso definire dinamicamente un metodo alias per un metodo di classe?
- 20. Python: Come chiamare un metodo di istanza da un metodo di classe della stessa classe
- 21. C'è un modo per visualizzare (o stampare) una definizione di metodo in modo programmatico nei binari?
- 22. Qual è lo scopo di definire una classe interna all'interno di un metodo statico?
- 23. Boost.Python: Definire un costruttore di fuori di una classe
- 24. Come definire il metodo S4 per prendere l'opposto dell'oggetto?
- 25. Passare una classe come argomento a un metodo in java
- 26. Chiamare un metodo in una classe in ogni altro metodo
- 27. C'è un modo per sovrascrivere automaticamente ToString() su una classe?
- 28. Python: fai qualcosa per qualsiasi metodo di una classe?
- 29. C'è un modo in C# per sovrascrivere un metodo di classe con un metodo di estensione?
- 30. È possibile definire un blocco come membro di una classe?
Non esiste un metodo magico chiamato "__list__". Quindi, potresti dover convivere con un metodo di istanza. – thefourtheye
Qual è il motivo per cui non si emula il tipo di contenitore direttamente come suggerito nella [documentazione] (https://docs.python.org/3.3/reference/datamodel.html#emulating-container-types)? – dhke
Puoi pubblicare il tuo modello e che cosa stai cercando di fare esattamente? – IanAuld