解压缩参数列表:
def send(*data):
for datum in data:
ser.write(datum)
首先在列表中发送:
def send(data):
for datum in data:
ser.write(datum)
答案 0 :(得分:3)
如果它简化了API的情况,否则你总是必须传入一个列表:
send(something, otherthing)
与
send([something, otherthing])
您的常用参数来自不同的位置;例如something
和otherthing
更有可能是单独的变量,而不是已在一个列表中收集的变量。
Python 3.x print()
函数与os.path.join()
函数完全相同。在调用API之前,很少将所有打印参数或路径元素连接组合在一个列表中。
比较
os.path.join(rootdirectory, relativepath, filename)
print('Debug information:', localvariable)
VS
os.path.join([rootdirectory, relativepath, filename])
print(['Debug information:', localvariable])
如果.join()
或print()
只接受一个位置参数(列表),则API的用户会发现自己键入[
和]
括号再一次。
通过接受可变数量的位置参数,您可以为API的用户节省必须为函数调用创建列表的麻烦。在极少数情况下,参数已经被收集到列表中,他们可以使用*params
调用约定:
send(*params)
回显您的功能签名。