python中函数可以有参数,也可以不用参数。对于有参数的函数,如果直接使用位置参数,参数的个数是确定的。如果需要让实参变成可选的该如何操作呢?接下来跟大家分享一下。

2、函数定义好之后,以Thomas Alva Edison为例向函数传递3个参数以调用函数。代码示例如下:funcA("thomas","edison","alva")

二、关键字参数代替位置参数貌似可行
1、为了避免人名只有2个参数时上述函数出错的问题,我们考虑使用关键字参数,将middle_name放在最后面。(注意:关键字参数必须放在所有的位置参数后面!)def funcA(first_name,last_name,middle_name=""): full_name = first_name + " " + middle_name + " " + last_name print(full_name.title())

3、接着,我们再向函数传递2个参数,代码运行之后好像也没有问题。代码示例如下:funcA("albert","einstein")

三、使用关键字参数+if语句完美地将参数变成可选
1、既然第二种方法运行并不出错,只是格式上有些问题,我们可以考虑将代码再进行优化一下。考虑加入if语句,当middle_name为True时,直接执行刚才的操作;当middle_name为False时,将middle_name删去。代码示例如下:def funcA(first_name,last_name,middle_name=""): if middle_name: full_name = first_name + " " + middle_name + " " + last_name else: full_name = first_name + " " + last_name print(full_name.title())

3、接着,我们再向函数传递2个参数,代码运行之后也完全没有问题。代码示例如下:funcA("albert","einstein")
