感觉直接看代码输出结果更能直接得出两者的区别!!!!!
1. *
的介绍
*
的作用是在传入函数时候,将传入的数保存在一个元组当中,如果没有在coffename
的前面指定 *
,那么代码肯定会报错,因为函数printcoffe
里面只有一个参数,但是我们传入时候,指定了4个、3个、2个参数;
(1)代码展示:
def printcoffe(*coffename):
print("\n coffename:\t",coffename)
if __name__ =="__main__":
printcoffe("蓝山","卡布奇洛","土耳其","哥伦比亚")
printcoffe("蓝山","卡布奇洛","哥伦比亚")
printcoffe("蓝山","哥伦比亚")
(2)效果展示:
(3)利用for语句对元组中数据进行打印输出
def printcoffe(*coffename):
print("\n 我喜欢的咖啡是:")
for item in coffename:
print(item)
if __name__ =="__main__":
printcoffe("蓝山","卡布奇洛","土耳其","哥伦比亚")
printcoffe("蓝山","卡布奇洛","哥伦比亚")
printcoffe("蓝山","哥伦比亚")
输出结果是:
2. **
的介绍
是将传入函数中的参数放在一个字典中,代码和输出结果显示如下:
(1)代码
def printcoffe(**coffename):
print(coffename,"\n")
if __name__ =="__main__":
printcoffe(小罗='蓝山',小熊='卡布奇洛',)
printcoffe(小罗='库卡',小熊='星巴克',小范='瑞幸')
输出结果:
def printcoffe(**coffename):
for key,value in coffename.items():
print("[" + key +"] 喜欢的咖啡是: "+ value)
if __name__ =="__main__":
printcoffe(小罗='蓝山',小熊='卡布奇洛',)
printcoffe(小罗='库卡',小熊='星巴克',小范='瑞幸')
(2)输出效果
3. *
和 **
的总结
主要都是在于传入参数时候保证参数的可变性, *
是为了让传入的参数放在一个元组中,**
是让传入的参数放在一个字典中。