美文网首页
python拆包

python拆包

作者: lily_5945 | 来源:发表于2021-02-22 15:07 被阅读0次
    什么情况下需要用到拆包?

    当我们的函数需要传入不定长参数或者多个参数时,为了方便我们可以将参数放在list/tuple/dict里面,然后一次性传给函数。比如下面这个求和函数

    def nums_sum(*agrs):
        sum = 0
        for i in agrs:
            sum += i
        return sum
    
    list拆包

    现在将需要传入的参数放在一个list里面,想要将这个list传给函数,那么就需要将这个list拆成一个一个的传给函数了,我们可以这样做

    list1 = [1,2,3]
    nums_sum(*list1)
    # 结果和直接传参是一样的
    nums_sum(1,2,3)
    
    tuple拆包

    上面拆了list,下面拆tuple也是一样的处理

    tuple1 = (1,2,3,4,5)
    nums_sum(*tuple1)
    # 结果和直接传参是一样的
    nums_sum(1,2,3,4,5)
    
    字典拆包 - 给函数传参。 key=value
    def newdict(**kwargs):
        print(kwargs)
     # 第一种传参,直接传 key=value
    newdict(name="xj", age=10) 
    
    # 第二种传参,将mydict拆包传给函数, ** 表示拆字典
    mydict = {"name":"xj", "age":10} 
    newdict(**mydict)  
    # 返回结果是一样,如下
    {'name': 'xj', 'age': 10}
    
    下面是一个输入参数然后拆包的实例
    def nums_sum(*agrs):
        sum = 0
        for i in agrs:
            sum += i
        return sum
    
    
    nums = input('请输入需要求和的数字,用逗号隔开:') # 结果为 2,3,4,5 这种
    newlist = []
    for i in nums.split(','):
        newlist.append(float(i)) # 将输入的字符串类型的数字转换为float类型,添加到list中
    print(nums_sum(*newlist))   # 将list拆包传给函数
    

    相关文章

      网友评论

          本文标题:python拆包

          本文链接:https://www.haomeiwen.com/subject/faldzktx.html