Discuz! Board

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

Python之定义默认参数

[复制链接]

338

主题

341

帖子

1739

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1739
跳转到指定楼层
楼主
发表于 2017-7-9 21:56:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定义函数的时候,还可以有默认参数。
例如Python自带的 int() 函数,其实就有两个参数,我们既可以传一个参数,又可以传两个参数:
>>> int('123')123>>> int('123', 8)83
int()函数的第二个参数是转换进制,如果不传,默认是十进制 (base=10),如果传了,就用传入的参数。
可见,函数的默认参数的作用是简化调用,你只需要把必须的参数传进去。但是在需要的时候,又可以传入额外的参数来覆盖默认参数值。
我们来定义一个计算 x 的N次方的函数:
def power(x, n):    s = 1    while n > 0:        n = n - 1        s = s * x    return s
假设计算平方的次数最多,我们就可以把 n 的默认值设定为 2:
def power(x, n=2):    s = 1    while n > 0:        n = n - 1        s = s * x    return s
这样一来,计算平方就不需要传入两个参数了:
>>> power(5)25
由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面:
# OK:def fn1(a, b=1, c=2):    pass# Error:def fn2(a=1, b):    pass
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 23:44 , Processed in 0.105953 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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