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

一.使用元组作为函数的参数

代码示例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中。 由此可以看出,传参时元组和字典传参的区别,元组就跟传普通参数一样,而字典中的元素是由键值对组成,所以传参时就需要传键值表达式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值