Python中的类/函数中的可选参数[重复]

Posted

技术标签:

【中文标题】Python中的类/函数中的可选参数[重复]【英文标题】:Optional argument in class/function in Python [duplicate] 【发布时间】:2018-10-28 02:14:47 【问题描述】:

如果我想将可选参数传递给函数,我想知道python中是否有任何好的做法如何处理案例。

我在课堂上有这个功能:

def gen(self, arg1, arg2, optional):
    if optional exists do that:
        print(optional)
    else:
        print(arg1, arg2)

我现在能做的就是通过 if 来处理它,但我认为这不是最好的方法。

【问题讨论】:

根据您的示例,如果存在optional,您是否真的忽略arg1arg2 可以参考***.com/questions/9539921/… 【参考方案1】:

如果您想将可选参数传递给函数,请考虑使用*args**kwargs 或只使用默认参数。

例如 *args**kwargs

In [3]: def test(a, b, c, *args, **kwargs):
   ...:     print a, b, b
   ...:     if args:
   ...:         print args # do something, which is optional
   ...:     if kwargs:
   ...:         print kwargs # do something, which is optional
   ...:
   ...:

In [4]: test(1, 2, 3, 4, 5 ,6, 7, name='abc', place='xyz')
1 2 2
(4, 5, 6, 7)
'place': 'xyz', 'name': 'abc'

In [5]:

例如带默认参数。

def gen(self, arg1, arg2, optional=None):
    if optional:
        # do something

【讨论】:

以上是关于Python中的类/函数中的可选参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

javascript中的可选参数[重复]

JavaScript中的可选参数[重复]

Angular如何传递跳过一些[重复]的可选构造函数参数

抽象方法中的可选参数?可能吗?

烧瓶 add_url_rule 中的可选参数 [重复]

PHP函数中的可选参数不考虑顺序