Je veux écrire le mien __repr__
pour une classe que je définis. Je veux qu'il soit similaire à la valeur par défaut <__main__.O object at 0x00D229D0>
, sauf avoir quelques autres détails là-bas. Comment puis-je reproduire cette chose <__main__.O object at 0x00D229D0>
?Rouler mon propre __repr__
1
A
Répondre
5
Voir http://docs.python.org/reference/datamodel.html#object.repr
#!/usr/bin/env python
class O(object):
def __repr__(self):
return '<%s.%s object at 0x%x>'%(self.__module__,self.__class__.__name__,id(self))
o=O()
print(repr(o))
# <__main__.O object at 0xb7e7d0cc>
+1
en utilisant __name__ comme cela donnera de faux résultats pour les sous-classes non définies dans le même module! – u0b34a0f6ae
+0
Merci d'avoir signalé cela. Fixé. – unutbu
3
Vous pouvez écrire votre propre rééd comme ceci:
class Test (object):
def __repr__(self):
t = type(self)
return "<Instance of %s.%s at %x>" % (t.__module__, t.__name__, id(self))
Questions connexes
- 1. Faire rouler mon propre assistant d'enregistrement ASP.NET
- 2. Savon xml pour Paypal API SetMobileCheckout (demande rouler mon propre c objectif)
- 3. Mon propre tableheader?
- 4. Auto __repr__ méthode
- 5. créer mon propre flux MJPEG
- 6. Comment écrire mon propre AuthorizeTag?
- 7. Implémentation de mon propre aperçu avant impression?
- 8. Comment écrire mon propre wrapper en C#?
- 9. Forcer le RollingFileAppender à rouler
- 10. Log4Net: Rouler appender Fichier, définir l'extension
- 11. créer mon propre wrapper de mots pour la chaîne
- 12. Comment charger mon propre composant personnalisé dans une application AIR?
- 13. Personnaliser NewForm.aspx de SharePoint, ou créer mon propre formulaire ... pensées?
- 14. Comment puis-je imposer mon propre délai d'expiration?
- 15. Comment préempter IIS StaticFileHandler avec mon propre HttpHandler
- 16. Comment écrire mon propre programme Global Snippets avec .NET?
- 17. Meilleures options pour implémenter mon propre fournisseur de transactions
- 18. Devrais-je utiliser DuplicateKeyException dans mon propre code non-LINQ?
- 19. Référence sur la façon d'écrire mon propre client RDP
- 20. Comment réutiliser WPF ScrollViewer pour créer mon propre contrôle déroulant?
- 21. Aide à l'analyse de mon propre arbre d'expression, C#
- 22. Comment obtenir le handle de module de mon propre code?
- 23. Blackberry - comment démarrer mon propre service au démarrage du téléphone?
- 24. asp.net-mvc où dois-je mettre mon propre code
- 25. Comment mon application Flash peut-elle déterminer sa propre URL?
- 26. Transtypage personnalisé en C++ (comme __repr__ en Python)
- 27. Comment inclure mon propre wsdl dans mon service Web en C#
- 28. Exemples/Utilisation-Les cas de construction de votre propre ControllerFactory?
- 29. Créer son propre codage
- 30. développer propre WORKFLOW
Savez-vous que __repr__ devrait être un évaluateur expression lisible? Si vous voulez avoir une expression lisible par l'utilisateur, utilisez __str__ – freiksenet
bien eval'able ou entre – u0b34a0f6ae