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

 

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

 

posted @ 2021-03-09 22:11  小鲨鱼2018  阅读(151)  评论(0编辑  收藏  举报