J'écris une extension python pour fournir un accès aux données Solaris kstat (dans le même esprit que la bibliothèque Perl d'expédition Sun :: Solaris :: Kstat) et j'ai une question sur le retour conditionnel d'une liste ou un seul objet. Le cas d'utilisation de python ressemblerait à quelque chose comme:Etiquette d'objet retourné par l'extension Python
cpu_stats = cKstats.lookup(module='cpu_stat') cpu_stat0 = cKstats.lookup('cpu_stat',0,'cpu_stat0')
Comme il est actuellement mis en œuvre, la recherche() retourne une liste de tous les objets qui kstat correspondance. Le premier cas aboutirait à une liste d'objets (autant qu'il y a de CPU) et le second appel spécifie un kstat complet et renverrait une liste contenant un kstat.
Ma question est-ce une mauvaise forme de retourner un seul objet quand il n'y a qu'une seule correspondance, et une liste quand il y en a plusieurs?
Merci pour la réponse réfléchie! Mon python-fu est faible mais de plus en plus fort en raison de gens comme vous.
Même si vous posez cette question dans le contexte de l'écriture d'un module d'extension, la réponse est la même si vous écrivez des fonctions Python pures. – Miles