Python 从函数返回多个值时出现问题

Python 从函数返回多个值时出现问题,python,Python,我试图研究一种使用单个返回变量返回多个值的方法。我想要实现的是,我希望下面的代码能够像返回多个值一样工作,而不是返回一个元组 def my_data: test_data = 1, 2, 3, 4 # etc (i have a LOT of data here) return test_data 我得到的是: td = my_data() print td output : (1,2,3,4) 我希望函数的行为与执行以下代码的行为相同: return 1,2,3

我试图研究一种使用单个返回变量返回多个值的方法。我想要实现的是,我希望下面的代码能够像返回多个值一样工作,而不是返回一个元组

def my_data:
    test_data = 1, 2, 3, 4 # etc (i have a LOT of data here)
    return test_data
我得到的是:

  td = my_data()
  print td
  output : (1,2,3,4)
我希望函数的行为与执行以下代码的行为相同:

return 1,2,3,4
有办法吗

编辑

我将它与python ddt一起使用

@ddt
class testsuite_my_function_validations(unittest.TestCase):

    @data(my_data())
    def test_various_number(self, value):
        test_number = value
        # test the number
假设它有四个测试数据(1,2,3和4),我得到的是一个元组值,而不是这四个数字。但是当我

return 1,2,3,4
输出将有四个测试用例:

  • 测试用例测试值1
  • 测试用例测试值2
  • 测试用例测试值3
  • 测试用例测试值4

  • 你的问题让人对你想要达到的目标感到困惑,但是

    您可以像这样使用
    列表

    list1 = [1,2,3,4]
    
    return list1
    
    然后您可以从变量上获取这些值


    关于

    的更多信息您的问题是,您试图实现的输出令人困惑,但是

    您可以像这样使用
    列表

    list1 = [1,2,3,4]
    
    return list1
    
    然后您可以从变量上获取这些值


    有关返回多个返回值的详细信息,如:

    return 1, 2, 3, 4
    
    实际上创建一个元组并返回它。它和我的一模一样

    test_data = 1, 2, 3, 4
    return test_data
    
    在这两种情况下,您都可以将返回的元组存储在变量中或将其解压缩:

    def my_data():
        test_data = 1, 2, 3, 4
        return test_data
    a, b, c, d = my_data()
    
    您需要做的是在decorator调用中使用以下方法解压缩元组:

    *
    放在函数调用的最后一个参数之前,会将该参数解压为序列,并将序列元素作为单独的参数提供给函数。换句话说,

    f(1, *(2, 3, 4))
    
    相当于

    f(1, 2, 3, 4)
    

    请注意,元组通常用于固定长度的集合,通常是不均匀数据的集合。如果有大量数据,列表通常更合适。

    返回多个返回值,如下所示:

    return 1, 2, 3, 4
    
    实际上创建一个元组并返回它。它和我的一模一样

    test_data = 1, 2, 3, 4
    return test_data
    
    在这两种情况下,您都可以将返回的元组存储在变量中或将其解压缩:

    def my_data():
        test_data = 1, 2, 3, 4
        return test_data
    a, b, c, d = my_data()
    
    您需要做的是在decorator调用中使用以下方法解压缩元组:

    *
    放在函数调用的最后一个参数之前,会将该参数解压为序列,并将序列元素作为单独的参数提供给函数。换句话说,

    f(1, *(2, 3, 4))
    
    相当于

    f(1, 2, 3, 4)
    

    请注意,元组通常用于固定长度的集合,通常是不均匀数据的集合。如果您有大量数据,列表通常更合适。

    什么意思?您对参数有问题吗?
    返回1、2、3、4与
    返回测试数据
    完全相同。您的意思是什么?您对参数有问题吗?
    返回1、2、3、4与
    返回测试数据
    完全相同。