python中实现实参可选

1、

>>> def a(first,middle,last):        ## 函数定义了三个形参
    full = f"{first} {middle} {last}"
    return full.title()

>>> name = a("aaa","bbb","ccc")
>>> print(name)
Aaa Bbb Ccc
>>> name = a("aaa","ccc")            ## 当给与两个实参时报错
Traceback (most recent call last):
  File "<pyshell#493>", line 1, in <module>
    name = a("aaa","ccc")
TypeError: a() missing 1 required positional argument: 'last'

2、

>>> def a(first,last,meddle = ""):        ## 将可选参数在定义为默认参数,赋值为空
    if meddle:
        full = f"{first} {meddle} {last}"
    else:
        full = f"{first} {last}"
    return full

>>> name = a("aaa","ccc","bbb")       ## 使用位置参数
>>> print(name)
aaa bbb ccc
>>> name = a("aaa","ccc")           ## 省略掉实参 meddle,函数仍然可以调用
>>> print(name)
aaa ccc

将可选实参定义为默认参数空,通使用条件判断实现实参可选。

原文地址:https://www.cnblogs.com/liujiaxin2018/p/14508472.html