关于 def test(*params)的问题
def test(*params):print("有%d个参数"% len(params))
print("其中第三个参数是%s"%params)
test('F','i','s','h','C',)
def test(*params):
print("有%d个参数"% len(params))
print("其中第三个参数是%s"%tuple('FishC'))
test(tuple('FishC'))
这两串代码,第1个运行完显示是5个参数,而第二个运行后显示1个参数。(此处参数是程序里%d的那个数)
有谁能解释下吗{:10_266:} test('F', 'i', 's', 'h', 'C')和test(('F', 'i', 's', 'h', 'C'))能一样吗? 永恒的蓝色梦想 发表于 2020-7-25 16:59
和能一样吗?
我还真不知道,请问有什么区别么{:10_245:} Congratulate 发表于 2020-7-25 17:00
我还真不知道,请问有什么区别么
假如把5个人当参数,参数的长度是5.
但是把5个人放进一个房子里,让房子当参数的话,房子只有一个,所以参数长度是1. qiuyouzhi 发表于 2020-7-25 17:03
假如把5个人当参数,参数的长度是5.
但是把5个人放进一个房子里,让房子当参数的话,房子只有一个,所以 ...
那该怎么改才能做到像第一个代码一样。让他变成5个 Congratulate 发表于 2020-7-25 17:14
那该怎么改才能做到像第一个代码一样。让他变成5个
def test(*params):
print("有%d个参数"% len(params))
print("其中第三个参数是%s"%tuple('FishC'))
test(*tuple('FishC')) 永恒的蓝色梦想 发表于 2020-7-25 17:34
为什么你加个星号就可以了?这个星号代表了什么?test(*tuple('FishC')),能通俗的解释下吗{:10_254:} Congratulate 发表于 2020-7-25 21:38
为什么你加个星号就可以了?这个星号代表了什么?,能通俗的解释下吗
解包,就是把所有的元素当作单独的参数传入。
页:
[1]