您的位置:首页 > 其它

使用元组or字典作为函数参数

2018-03-19 19:07 309 查看
一.使用元组作为函数的参数代码示例1:
# -*- coding: utf-8 -*- #
def powersum(power, *args):
'''Return the sum of each argument raised to specified power.'''
total = 0
for i in args:
total += pow(i, power)
return total

print powersum(2,3)
print powersum(2,3,4)
print powersum(2,3,4,5)


代码示例2:
# -*- coding: utf-8 -*- #
def addsum(a,b=2,*args):
print u'类型',type(args)
print u'参数个数',len(args)
sum=0
for i in args:
sum+=i
print sum+a+baddsum(1,2,3,4)



二.使用字典作为函数的参数代码示例1:
# -*- coding: utf-8 -*- #
def fun2(a,b=100,*args,**keys):
print "keys type=%s" % type(keys)
print "keys=%s" % str(keys)
print "name=%s" % str(keys['name'])
print "sex=%s" % str(keys['sex'])
sum=0
for i in args:
sum+=i
print sum+a+b
fun2(1,2,3,4,name="vp",age=19,sex="m")
#1:对应a
#2:对应的b变量
#3,4:对应的args,在函数中生成了一个args的元组
#name="vp",age=19,sex="m":对应的是keys,在函数中生成了一个keys的字典
# *args **args 是不是写在多个参数的最后?yes


总结:
#*args和**args: 都可以接受可变长度的参数个数 区别:
 *args表示的是一个元组

 **args表示的是一个字典
三.同时使用*和**的函数参数
代码示例1:
#coding=utf-8
def sum(a,*arg,**args):
sum=0
sum=sum+a
for i in arg:
sum=sum+int(i)
for i in args.values():
sum=sum+int(i)
return sum
print sum(1,2,3,4,b=5,c=6,d=7)

代码示例2:
#coding=utf-8
def printInfo(a, c=4, *tup, **dic) :
print a
print c
print tup
print dic
#调用函数printInfo
printInfo(2,3,4,5, x=1, y=2)


按照参数赋值顺序,a=2,c=3,4和5存在元组tup中,x=1, y=2存在字典dic中。 由此可以看出,传参时元组和字典传参的区别,元组就跟传普通参数一样,而字典中的元素是由键值对组成,所以传参时就需要传键值表达式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: