繁体   English   中英

如何获取Python中函数返回的元素数

[英]How to get the number of elements returned from a function in Python

如果不执行该函数,如何获取该函数返回的元素数量? 也许还知道这些元素的类型?

我知道我可以做类似的事情:

def foo ():
    return 'a', 2

handle = foo()
print len(handle)
>> 2

但是在这里我需要执行我的功能...

您不能-函数可以根据输入或其他因素返回不同数量的参数(存储在单个元组中)和该元组中不同类型的变量。 考虑一下(傻)功能:

def foo(arg):
    if arg:
       return 1,2
    else
       return "foo","bar","baz"

现在调用它:

foo(1) # (1,2)
foo(0) # ("foo","bar","baz")

知道函数将返回什么的唯一方法是: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

显然,您不知道返回值的类型

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM