不定长参数(元祖)
1 # 不定长参数 2 # 概念:能够处理比当初声明时更多的参数。 3 4 # 元组格式: 5 # 加了星号(*)的变量,可以存放未定义的变量参数。如果函数在调 6 # 用时没有传入参数,那么他就是一个空元组。 7 8 def sum1(a,b): 9 print(a+b) 10 def sum2(a,b,c): 11 print(a+b+c) 12 13 # 加了*的变量,为元组类型,系统会将函数调用时传入的实参依次放到元 14 # 组中,如果函数调用时没有传入实参,默认args为空元组。 15 def sumFunc(*args): 16 print(args) 17 sumRes = 0 18 for i in args: 19 sumRes += i 20 if len(args)>=2: 21 print(args[2]) 22 print(sumRes) 23 sumFunc() 24 sumFunc(1) 25 sumFunc(1,2,33,4) 26 sumFunc(1,2,38,4,5,6,7,8) 27 28 29 def func1(num1, num2, *args): 30 print(num1, num2, args) 31 func1(100,200) 32 33 func1(100,200,3) 34 func1(100,200,3,4,5,6,7) 35 36 37 def func1(num1, num2=555, *args): 38 print(num1, num2, args) 39 40 func1(111) 41 func1(111,222) 42 func1(22,33,1,2,2,3,4,5) 43 # func1(1,2,3,4,5, num1=12, num2=1233) # 错误 44 45 def func2(*args, num1): 46 print(args, num1) 47 # 当不定长参数在前面时,普通形参在后面时,函数调用时需要 48 # 使用关键字形式。 49 func2(1,2,3,num1=100) 50 51 52 def func3(num1, *args, num2=666): 53 print(num1, num2, args) 54 func3(1) 55 func3(1,2) 56 func3(1,2,3,4,5) 57 func3(1,2,3,4, num2=456)