Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6970|回复: 0
打印 上一主题 下一主题

Python之定义可变参数

[复制链接]

335

主题

338

帖子

1690

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1690
跳转到指定楼层
楼主
发表于 2017-7-9 21:59:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:
def fn(*args):    print args
可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:
>>> fn()()>>> fn('a')('a',)>>> fn('a', 'b')('a', 'b')>>> fn('a', 'b', 'c')('a', 'b', 'c')
可变参数也不是很神秘,Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args看成一个 tuple 就好了。
定义可变参数的目的也是为了简化调用。假设我们要计算任意个数的平均值,就可以定义一个可变参数:
def average(*args):    ...
这样,在调用的时候,可以这样写:
>>> average()0>>> average(1, 2)1.5>>> average(1, 2, 2, 3, 4)2.4
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|飞克网 ( 皖ICP备16023507号 )

GMT+8, 2024-4-25 19:26 , Processed in 0.202158 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表