Мне нужно сделать некоторые интроспекции в Numpy/Scipy. Хотя относительно легко найти информацию о том, как получить help docstring и аргументы, я не смог получить ничего о том, как получить информацию о возвращаемых значениях. В частности, я просто хотел бы найти, какие функции возвращают несколько значений или эквивалентно (более или менее) кортежей. Любой способ сделать это?Как проверить возврат нескольких значений в Python?
-3
A
ответ
0
Вы не можете найти это в Python в целом. Ответ не постоянный.
def complicated(i):
if i == 1:
return 0
elif i == 2:
return (0,1)
elif i == 3:
return [0,1,2]
elif program_halts(i):
return {}
else
return "Nope"
Что еще хуже, даже если вы знаете входы, вы не можете сказать результат без решения проблемы с остановкой.
Ваш единственный шанс прочитать документацию.
0
документация должна сказать вам, но вы можете проверить во время выполнения, если вам действительно нужно:
r = something()
if type(r)==tuple or type(r)==list:
for rn in r:
# do something with each returned value
# (which might include further checking if it's a list or a tuple)
elif type(r)==int or type(r)==float:
# it's a scalar numeric value
else:
raise ValueError("Can't handle {}".format(r))
Попутно функцию, которая возвращает список или кортеж должен возвращать список или кортеж длины 0 или 1, чтобы указать, что не было ничего или только одно значение для возврата. Я видел коды, где вы получаете None
, скаляр или список кортежей /, что делает использование результата излишне сложным!
Смежные вопросы
- 1. Возврат нескольких значений C#
- 2. Python - возврат нескольких значений из функции в разные массивы
- 3. Как проверить наличие нескольких значений в dict в Python
- 4. Проверить перечисление нескольких значений
- 5. Возврат нескольких значений с карты в Groovy?
- 6. поиск и возврат нескольких значений в excel
- 7. Возврат нескольких значений из функции в swift
- 8. Visual Studio: возврат нескольких значений в список
- 9. Возврат нескольких значений PostgreSQL в формате таблицы
- 10. Проверить наличие нескольких значений в базе данных в MySQLdb python?
- 11. Возврат нескольких значений ajax и php
- 12. Возврат нескольких значений из функции async
- 13. C: поиск массива и возврат нескольких значений
- 14. Возврат нескольких значений с помощью веб-сервиса
- 15. Возврат нескольких значений с помощью NSPredicate
- 16. Как проверить массив для нескольких значений?
- 17. Как проверить наличие нескольких ключей в python?
- 18. Проверить несколько значений в нескольких столбцах mysql
- 19. Возврат значений столбцов нескольких столбцов с использованием нескольких критериев соответствия
- 20. Проверить наличие нескольких значений в таблице
- 21. Возврат значений в кортеж?
- 22. Возврат строк mysql в зависимости от нескольких разных значений
- 23. Возврат индексов 3D-массива в R на основе нескольких значений
- 24. Возврат нескольких значений из хранимой процедуры в C#
- 25. Возврат нескольких значений в одного оракула оператора SQL
- 26. Возврат ошибочных значений
- 27. Как проверить код python на нескольких платформах?
- 28. Python: Реферирование нескольких значений ключа
- 29. Возврат нескольких объектов
- 30. Как проверить возврат транзакции Braintree?
Насколько я знаю, от Python нет никакого способа. Не могли бы вы просто проверить документацию? – birdoftheday
Не уверен, что вам нужно ... Май http://stackoverflow.com/questions/9752958/how-can-i-return-two-values-from-a-function-in-python help? – BAE
также http://stackoverflow.com/questions/919680/can-a-variable-number-of-arguments-be-passed-to-a-function – BAE