zoukankan      html  css  js  c++  java
  • Python函数返回不定数量的值

    Python的函数是可以return多个值的,但其本质上还是返回单个值,只是利用了tuple的自动打包,将多个值打包成单个tuple返回。

    使用代码验证:

    def func_a():
        return 1, 2, 3, 4
    
    if __name__ == '__main__':
        temp = func_a()
        print(type(temp))

    运行结果,确认返回的是一个tuple,

    <class 'tuple'>

    稍微修改代码:

    def func_a(*args):
        return 1, 2, 3, 4
    
    if __name__ == '__main__':
        a, b, c, d = func_a()
        print(a, b, c, d)

    代码中利用了tuple的自动解包,将tuple的值分别赋值给了a, b, c, d四个变量,实现返回多个值

    既然知道实际上Python返回多个值的本质是返回tuple,再自动解包赋值给N个变量,那要实现返回任意多个值,只要手动返回一个tuple就可以了,tuple内元素的数量可以自定:

    def func_a(*args):
        return tuple(arg * 2 for arg in args)
    
    if __name__ == '__main__':
        a, b, c, d = func_a(1, 2, 3, 4)
        print(a, b, c, d)

    代码中,将传入的参数值 x 2后,转换成tuple返回,再利用tuple的自动解包赋值给多个变量,从而实现函数返回不定数量的值。

    这里需要注意,当返单个值时,不需要再手动返回一个tuple,所以修改代码如下:

    def func_a(*args):
        temp = tuple(arg * 2 for arg in args)
        return temp if len(temp) > 1 else temp[0]
    
    if __name__ == '__main__':
        a, b, c, d = func_a(1, 2, 3, 4)
        print(a, b, c, d)
        e = func_a('Hello')
        print(e)
  • 相关阅读:
    ASP.NET 母版页和内容页中的事件
    用powershell 获取windows窗口标题
    PowerShell中格式化命令和输出命令
    Powershell视频教程
    百度谷歌眼中的80后90后
    oracle导出和导入
    Websphere 优化文档
    windows 全部命令
    Oracle SQL 语句一
    怎样启动、关闭和重新启动oracle监听器 in linux
  • 原文地址:https://www.cnblogs.com/blackmatrix/p/5603186.html
Copyright © 2011-2022 走看看