如何在不执行任务的情况下获取从函数返回的元素数量?也许,也知道这些元素的类型?
我知道我可以这样做:
def foo ():
return 'a', 2
handle = foo()
print len(handle)
>> 2
但是我需要执行我的功能......
答案 0 :(得分:3)
你不能 - 函数可以根据输入或其他因素返回不同数量的参数(存储在单个元组中)和该元组中不同类型的变量。考虑(愚蠢)功能:
def foo(arg):
if arg:
return 1,2
else
return "foo","bar","baz"
现在打电话给:
foo(1) # (1,2)
foo(0) # ("foo","bar","baz")
知道函数将返回的唯一方法是1)阅读源或2)(如果你是一个信任的人)阅读函数的文档: - )。
答案 1 :(得分:2)
没有。通常,您可以说一个函数完全返回一个对象。该对象可以是一个元组,该元组可以包含任意数量的对象。在您的示例中,您将返回包含2个对象的元组
考虑这个功能
import random
def foo():
choice = random.choice("abcd")
if choice == "a":
return 1,2,3 # Returns a tuple
if choice == "b":
return 4 # Returns an int
if choice == "c":
return "C" # Returns a str
if choice == "d":
return None # Returns None
显然你无法知道返回值的类型