python中可选参数如何指定_Python可选参数

Python 2 documentation, 7.6. Function definitions提供了几种方法来检测调用者是否提供了可选参数。

首先,可以使用特殊的形参参数语法*。如果函数定义具有以单个*开头的形式参数,那么Python将使用不与先前形式参数(作为元组)匹配的任何位置参数填充该参数。如果函数定义具有以**开头的形式参数,那么Python将使用不与先前形式参数匹配的任何关键字参数填充该参数(如dict)。函数的实现可以检查这些参数的内容,以查找所需排序的任何“可选参数”。

例如,这里有一个函数opt_fun,它接受两个位置参数x1和x2,并寻找另一个名为“optional”的关键字参数。

>>> def opt_fun(x1, x2, *positional_parameters, **keyword_parameters):

... if ('optional' in keyword_parameters):

... print 'optional parameter found, it is ', keyword_parameters['optional']

... else:

... print 'no optional parameter, sorry'

...

>>> opt_fun(1, 2)

no optional parameter, sorry

>>> opt_fun(1,2, optional="yes")

optional parameter found, it is yes

>>> opt_fun(1,2, another="yes")

no optional parameter, sorry

第二,你可以提供默认参数值一些值,如None,调用者永远不会使用。如果参数具有此默认值,那么您知道调用方未指定该参数。如果参数有一个非默认值,你知道它来自调用者。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值