LPTHW 笨方法学python 18章

看完18章以后,发现第一个练习中,使用了*args读取全部的的输入参数作为一个元组,但是在他的练习中只给了两个变量去赋值,当用户不清楚这个函数的定义时,就可能会给出过多的变量进这个函数,那么就会出现如下错误:

ValueError: too many values to unpack

也就是所谓的解包错误,给出的值太多了。

那么为了杜绝这种情况,我取巧解决了下。就是我把元组改变成一个列表,然后补了2位进去。

如果他给的变量少了也没关系,我能补齐。可能太搓了,以后有好的思路再来补齐。

def print_two(*args):
  all_args = list(args) + [None,None]
need_var = all_args[0:2]
arg1,arg2
= need_var print "arg1:%r, arg2: %r" %(arg1,arg2) print_two(1,"hello",3)
原文地址:https://www.cnblogs.com/sageskr/p/4077513.html