不能说这是python的特点 因为了解的编程语言不多,只是相对于java的不同做了些笔记
#coding=utf-8
#python 2.7
#key words paramater 关键字参数
#关键字参数仅仅对参数的调用来说的就是在调用时我们可以指定参数名然后给参数赋值
#这样做的好处就是可以不按照原来参数的顺序写参数列表
def kwfun(a,b):
print a+b
kwfun(2,4)
kwfun(2,b=4)
kwfun(a=3,b=4)
kwfun(b=2,a=1)
#default argument 默认参数
#对于默认参数如果在函数调用时没有为参数提供值则使用预先定义的的默认值。
#python 中用默认值声明变量的语法是所有的位置参数必须出现在任何一个默认参数之前。也就是说默认值参数只能放后面 例如fun1,解释是无法通过
#这样的好处是极大地提高了函数的健壮性,例如默认货币,默认精度等
'''
def fun1(a=3,b): #解释时会报错 non-default argument follows default argument
return a+b
'''
def dafun(a,b=3):
return a+b
dafun(2,4) #给全部参数
dafun(2) #只给位置参数
dafun(a=3) #使用关键字参数
#这样的语法可以大大提高代码的灵活性