关于函数内可变参数的问题
def greeting(args1, *tupleArgs, **dictArgs):print(args1)
print(tupleArgs)
print(dictArgs)
names = ['HTY', 'LFF', 'ZH']
info = {'schoolName' : 'NJRU', 'City' : 'Nanjing'}
greeting(*names,'Hello,',**info)
以上程序的输出结果如下
HTY
('LFF', 'ZH', 'Hello,')
{'schoolName': 'NJRU', 'City': 'Nanjing'}
4个问题:
为什么Hello,会在第二行和names中的字符串组合?
('LFF', 'ZH', 'Hello,')为什么是元组形式输出?而第三行结果还是保持字典形式
greeting(*names,'Hello,',**info)变成greeting(*names,**info, 'Hello,')就会报错,这是为什么?
函数不能调用未实现的函数,什么是未实现的函数? 第一个问题,因为arg1只输出一个字符串,所以它只读取到了,HYT,arg1的意思是名字(字符串)
第二个因为你写的是tupleArgs,tuple是元组,它会将name变量剩下的与'hello,' 组成一个元组输出。
第三个因为参数dictArgs 必须为字典。字典就必须要有key和value,这里只有一个字符串,所以报错。
第四个,未实现的函数应该是没有被定义的函数。 多谢
页:
[1]