不定长参数的传递

 1 def Result(a,*b):
 2     result=0
 3     result+=a
 4     for x in b:
 5         result+=x
 6     return result
 7
 8 add_result=Result(1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)
 9 # add_result=Result(2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38)
10 print(add_result)

除此之外,在python的函数中我们传递的参数有些还有特殊的含义,比如def test(a,b,c=8,count=‘china‘)

1 # test2()
2
3 def Result(a,*b,**c):
4    print(a)
5    print(b)
6    print(c)
7
8 Result(1,3,5,7,11,13,15,17,19,21,23,25,27,31,33,35,37,f=29,t=9,g=39)

运行结果:

E:\Python35\python.exe F:/Exercise/Python/test0731/登陆.py
1
(3, 5, 7, 11, 13, 15, 17, 19, 21, 23, 25, 27, 31, 33, 35, 37)
{‘t‘: 9, ‘f‘: 29, ‘g‘: 39}

Process finished with exit code 0

备注:* 和**参数都是可传可不传递的,因此必须把必须要传的放在第一位,这个一定要切记。

时间: 2024-08-10 21:29:53

不定长参数的传递的相关文章

Java的不定长参数和Python的不定长参数对比

一:起因 (0)不定长参数,也叫可变的参数,就是再调用函数之前,并不确定到底需要传递多少个参数 (1)Java中的不定长参数用String... args / int... args等三个点来表示:Python中用*args元组来表示 / **args字典(map)来表示  (2)不定参数有两个规定:第一,方法的参数列表中最多只有一个不定长度的参数:第二,就是不定长度的数组的位置必须是最后一个参数.不然不能通过编译. 二:实例对比 (1)Python的不定长参数 第一种方法--以一个*开始的参数

python中函数的不定长参数

#定义一个含有不定长参数的函数,本例第三个参数*args def sum_nums(a,b,*args): print('_'*30) print(a) print(b) print(args) #调用函数: sum_nums(11,22,33,44,55,66,77) sum_nums(11,22,33) sum_nums(11,22) sum_nums(11)#错误调用,传递的参数不够 #输出结果: ______________________________ 11 22 (33, 44,

30、不定长参数

def sum( a, b=10):b是缺省参数  ,向后排 result = a+b  sum( 12, 24 )  sum(a=12 ,  b)  a 是命名参数 def sum( a, b,*args,  * *kwargs ):是不定长参数,args是变量名,*是一个标识,告诉解释器要特殊对待 result = a+b sum(12, 23, 24, 15, m=3,n=5) print(agrs)   ( 24,15) print(kwargs) {'m':3, 'n': 5 } fo

Python 不定长参数 *args, **dictargs

 1. 加了星号(*)的变量名会存放所有未命名的变量参数,不能存放dict,否则报错. 如: 1 def multiple(arg, *args): 2 print "arg: ", arg 3 #打印不定长参数 4 for value in args: 5 print "other args:", value 6 7 if __name__ == '__main__': 8 multiple(1,'a',True) 输出: 2. 加了星号(**)的变量名会存放所有

六、不定长参数【可变参数】

在提取方法的时候,放法的形参的个数不确定 1.语法 数据类型... 变量名称 例举:int... num 2.可变的使用 实参的类型只需要和形参的类型保持一致,数量随便 不定长参数在使用的时候,其实相当于是一个数组,num其实就是数组的引用变量 注意问题 1.一个参数列表中不定长参数只能出现一次 2.如果存在不定长参数只能出现在参数列表的最后一个,不能出现在参数列表的前面或者中间 3.使用不定长参数的时候,传参的时候实参可以直接是一个数组

scala 基础四 scala 的函数扩展 默认参数,不定长参数,带名参数

默认参数,默认参数就是在函数定义的时候直接给函数的入参进行赋值 package smart.iot class func { } object func { //参数默认值 格式 参数:参数类型="要设置的默认值" def funcadd(str:String="hello scala!") { println(str); } def main(args: Array[String]): Unit = { funcadd() } } 输出:hello scala!

python-输入不定长参数函数传值

""" 不定长参数函数传值时,传入的值被设定为一个元组.但当不定长参数不是在程序中设定,而是运行程序过程中手动输入时,所有参数被设定为一个元组再以实参传入函数中,此时相当于不定长参数仅有该元组一个参数,而不是多个参数.例子如下: """ def multi(*p): sum = 1 for arrs in p: for arr in arrs: sum *= int(arr) print("乘积结果为:{}".format(s

不定长参数和进程

不定长参数 就是不限定长度的参数 *arge(位置传参) →返回的是元组 案例: **kearge(带参数名传参)→返回的是字典 案例: 将俩者合在一起才是真的不定长参数(*args一定要放在前面) 案例: 函数生成器: 案例: 尝试执行try中的代码,如果有错,则被expect捕获,但是整个程序不会崩溃,代码如下: 进程和线程: 进程:是系统中正在运行的一个程序,程序一旦运行就是进程.简单的说每次都只能运行一个程序,一个完成以后才能进行下一个. 案例: 线程:一个进程还可以拥有多个并发的执行线

Python装饰器AOP 不定长参数 鸭子类型 重载(三)

1 可变长参数与关键字参数 *args代表任意长度可变参数 **kwargs代表关键字参数 用*args和**kwargs只是为了方便并没有强制使用它们. 缺省参数即是调用该函数时,缺省参数的值若未被传入,则传入默认预设的值. 注意 : 须将所有带有默认值的参数置于参数列表的末尾. def print_info(name, age = 18,gender = True ) print_info("zhan", gender = False ) def demo(num, *nums ,