python 函数多参数

Python中函数个数可变参数的传递

分类: Python学习笔记 101人阅读 评论(0) 收藏 举报

如果用过C语言中的printf()函数,那么就会对参数传递个数可变的意义比较了解了。尽管可选参数的机制令函数的参数个数是可变的,但还是有限制的,参数个数有最大的限制,而且还要指明哪些是可选参数。而下面这个机制,可以接受热议多个参数。

  1. >>> def MyPrintf(format,*arg):
  2. format % arg
  3. >>> MyPrintf("%d is greater than %d",1,2)
>>> def MyPrintf(format,*arg):
	format % arg

	
>>> MyPrintf("%d is greater than %d",1,2)
其中*arg必须是最后一个参数,*表示接受任意多个参数,除了前面的参数后,多余的参数都作为一个tuple传递给函数,可以通过arg来访问。

还有一种方式来实现任意多个参数的传递,就是参数按照dictionary的方式传递这个函数,函数同样可以接受任意多个参数。

  1. >>> def MyPrint(format,**keyword):
  2. for k in keyword.keys():
  3. "keyword[%s] is %s" % (k,keyword[k])
  4. >>> MyPrint("ok",One=1,Two=2,Three=3)
>>> def MyPrint(format,**keyword):
	for k in keyword.keys():
		"keyword[%s] is %s" % (k,keyword[k])

		
>>> MyPrint("ok",One=1,Two=2,Three=3)
同上一种机制,只不过是使用**表示接受任意个数的有名字的参数传递,但是调用函数时,要指明参数的名字,One=1,Two=2,Three=3,在函数中,可以使用dictionary的方式来操作keyword,其中keys是["One","Two","Three"],value = [1,2,3].还可将两种机制和在一起。这时*arg要放在**keyword前面

函数接收参数的顺序,先接收固定参数,然后是可选参数,然后是任意参数,最后是带名字的任意参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值