在定义函数时,可以有默认参数
例如Python自带的函数int(),其实就是两个参数,我们既可以传一个参数,又可以传两个参数
int('123') >>>123 int('123',8) 83
int()的第二个参数是转换进制,如果不传,默认是10进制,如果传了,就用传入的参数。
所以说,函默认参数的作用:简化调用
注:由于函数的参数按从做到右的顺序匹配,所以默认的参数只能定义在必需参数的后面:
# OK: def fn1(a,b=1,c=2): pass # Error: def fn2(a=1,b): pass
小习题:
请定义一个 greet() 函数,它包含一个默认参数,如果没有传入,打印 'Hello, world.',如果传入,打印 'Hello, xxx.'
代码:
def gerrt(name = 'world'): print 'Hello, ' + name + '.' greet() greet('Bart')