从函数返回多个值的麻烦

 哟呼的围脖 发布于 2023-02-04 13:14

我尝试使用单个返回变量研究返回多个值的方法.我想要实现的是,我希望下面的代码好像它返回多个值而不是返回一个元组

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

user2357112 .. 6

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

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()

你需要做的是在带有*符号的装饰器调用中解压缩元组:

@ddt
class testsuite_my_function_validations(unittest.TestCase):
#         v this star here
    @data(*my_data())
    def test_various_number(self, value):
        test_number = value
        # test the number

*在函数调用的最后一个参数之前放置一个将该参数解包为序列,并将序列元素作为单独的参数提供给函数.换一种说法,

f(1, *(2, 3, 4))

相当于

f(1, 2, 3, 4)

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

1 个回答
  • 返回多个返回值,如下所示:

    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()
    

    你需要做的是在带有*符号的装饰器调用中解压缩元组:

    @ddt
    class testsuite_my_function_validations(unittest.TestCase):
    #         v this star here
        @data(*my_data())
        def test_various_number(self, value):
            test_number = value
            # test the number
    

    *在函数调用的最后一个参数之前放置一个将该参数解包为序列,并将序列元素作为单独的参数提供给函数.换一种说法,

    f(1, *(2, 3, 4))
    

    相当于

    f(1, 2, 3, 4)
    

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

    2023-02-04 13:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有