Python收集参数与for循环
# 收集参数,减少定义变量名,*收集无序参数形成元组,**收集无序参数形成字典(放在最后)
def fun(*a, b, c, **d): # 自定义函数,给定一个无穷元组a(可以被传入n个实参),和两个形参,一个**d字典
print("---------输出全部参数------------")
print(a, b, c, d) # 输出*a的元组,b,c,**d的字典
print("---------元组解包------------")
print(*a, b, c, d) # 输出解包*a元组的元素及b,c
print("---------关键字参数之和------------")
print(b+c) # 输出b+c的和 ,a为元组无法参与运算
print("---------输出字典------------")
print(d) # 输出**d的字典
print("---------切片元组求和------------")
print(a[0]+b, a[1]+b, a[2]+b) # 分别输出*a元组索引为0,1,2的元素与b实参的和
# print("---------切片元组与字典指定键的值的和------------")
# print(a[0]+d.pop('d1')) # 输出*a元组索引为0的值与**d字典键为'd1'的值之和(此行影响后面for遍历字典,原因不明)
print("---------for循环遍历元组和字典------------")
print("---------输出元组遍历结果------------")
for x in a: # for循环遍历a元组
print(x) # 输出遍历到的元组中的元素
print("---------输出元组遍历值与c的和------------")
for x in a: # for循环遍历a元组
print(x+c) # 分别输出a元组中遍历到的元素与c的和
print("---------输出字典遍历的值------------")
for y in d.values(): # for循环遍历d字典中的值
print(y) # 分别输出d字典中遍历到的值
print("---------输出字典值与c的和------------")
for y in d.values(): # for循环遍历d字典中的值
print(y+c) # 分别输出d字典中遍历到的值与c的和
print("---------输出遍历元组元素与字典值的和------------")
for x in a: # for循环遍历a元组
for y in d.values(): # for循环遍历d字典中的值
print(x+y) # 分别输出a元组中遍历到的元素与d字典中遍历到的值的和
fun(1, 2, 3, b=10, c=88, d1=10, d2=20, d3=30, d4=40) # 实参默认传给a,指定10传给b,88传给c,其他无序参数传给d
|