如何使用python函数function中的关键字实参?
1、python函数中最简单的参数形式是位置参数,但这种位置参数在使用过程中位置必须一致。如果位置参数位置不一致的话,得到的结果不同。代码示例如下:
def funcA(x,y):
print(x + 2*y)
funcA(1,2) #相当于x=1,y=2
funcA(2,1) #相当于x=2,y=1

1、1、使用关键字参数向函数传递参数。
关键字参数是指在调用时,函数括号里以等号的形式传递参数。代码示例如下:
def funcA(x,y):
print(x + 2*y)
funcA(x=1,y=2)

2、2、关键字参数与位置无关。
关键字参数不同于位置参数的最大特点就是传递参数时位置不会影响结果。为了避免参数位置产生的影响,我们可以使用关键字实参来传递参数。代码示例如下:
def funcA(x,y):
print(x + 2*y)
funcA(x=1,y=2)
funcA(y=2,x=1)

3、3、利用关键字实参设置默认值。
关键字参数还有一个功能就是设置默认值,有默认值的参数调用时可不传入参数。代码示例如下:
def funcA(x,y=1):
print(x + 2*y)
funcA(x=1) #没有给y传递参数,调用函数时使用y的默认值

4、3、利用关键字实参设置默认值。
有默认值的参数调用若传入参数,新参数会替换掉默认值。代码示例如下:
def funcA(x,y=1):
print(x + 2*y)
funcA(x=1,y=2) #给y传递了新的参数会替换掉默认值

5、4、利用关键字参数设置可变数量的参数。
在使用函数过程中,我们往往希望参数个数不要定死,而能根据情况稍做改动。比如对于一个保存外国人名称的函数,有些人名有中间名,有些人名则没有,那么我们就可以利用关键字参数,将中间名默认为空,这样如果调用时不传入这个参数则只有2个参数,如果调用时传入这个参数则有3个参数。代码示例如下:
def funcA(first_name,last_name,middle_name=""):
full_name = first_name + " " + middle_name + " " + last_name
print(full_name.title())
funcA("albert","einstein")
funcA("thomas","edison","alva")


6、5、关键字参数需放在位置参数后面。
有python中,位置参数跟关键字参数是可以混用的。但需要注意的是,关键字参数一定要放在位置参数后面,否则会报错。代码示例如下:
def funcA(first_name,middle_name="",last_name):
full_name = first_name + " " + middle_name + " " + last_name
print(full_name.title())
