Я пишу расширение python, чтобы предоставить доступ к данным kstat Solaris (в том же духе, что и в Perl-библиотеке Sun :: Solaris :: Kstat), и у меня есть вопрос об условном возврате списка или один объект. Использование питона случае будет выглядеть примерно так:Python Extension Возвращаемый объект Etiquette
cpu_stats = cKstats.lookup(module='cpu_stat') cpu_stat0 = cKstats.lookup('cpu_stat',0,'cpu_stat0')
Как это в настоящее время реализуется, поиск() возвращает список всех объектов, которые kstat матча. Первый случай приведет к списку объектов (столько, сколько есть ЦП), а второй вызов полностью задает один kstat и вернет список, содержащий один kstat.
Мой вопрос - это плохая форма, чтобы вернуть один объект, когда есть только одно совпадение, и список, когда их много?
Благодарим за продуманный ответ! Мой python-fu слаб, но усиливается благодаря таким людям, как вы.
Даже если вы задаете этот вопрос в контексте написания модуля расширения, ответ будет таким же, если вы пишете чистые функции Python. – Miles