一个*,会把输入参数打包成一个tuple
两个*,会把输入参数打包成一个字典
1 """ 2 可变参数 3 """ 4 5 6 def add(*args): 7 print(args) 8 9 10 add() # 空元组 11 add(1) # (1,) 12 add(1, 2, 3) # (1, 2, 3)
可变参数求和(开发过程中,如果参数个数不确定的情况下)
调用函数,就是找到def定义的那块内存,想办法往里面传值。
系统只要看到*args,系统底层就提前把容器(元组)准备好,如果里面有元素,就将元素装进容器中
1 """ 2 可变参数求和 3 调用函数,就是找到def定义的那块内存,想办法往里面传值 4 系统只要看到*args,系统底层就提前把容器(元组)准备好 5 如果里面有元素,就将元素装进容器中 6 """ 7 8 def add(*args): 9 sum = 0 10 if len(args) > 0: 11 for i in args: 12 sum += i 13 print("累加和是,sum:", sum) 14 else: 15 print("没有元素可计算,sum:", sum) 16 17 18 add() 19 add(1,) 20 add(1, 2, 3)
当可变参数搭配固定参数时
1 """ 2 可变参数搭配不可变参数时,可变参数一定要放在固定参数后面 3 """ 4 5 6 def add(name, *args): # name, *args = "小王", 1, 3, 4 7 sum = 0 8 if len(args) > 0: 9 for i in args: 10 sum += i 11 print("%s累加和是:sum:%s" % (name, sum)) 12 else: 13 print("没有元素可计算:sum:", sum) 14 15 16 add("小王", 1, 3, 4)
原文地址:https://www.cnblogs.com/GumpYan/p/12293999.html
时间: 2024-09-29 10:39:52