python假如一个函数中有几个参数_如何生成一个具有互斥参数的Python函数?

除了the answer by @Ivonet,Python中的一种常见方法是接受一个参数,并将其隐藏:class Location:

__init__(self, location):

"""location_num & location_path are mutually exclusive"""

try:

x = self.locationArray[location] #location is a num?

except TypeError:

x = self.locationDict[location] #location is a string?

可能有另一个例外。如果您想使用argparse,这可能只对两个参数起到了过度的作用,但是可以很好地伸缩:

^{pr2}$

从上到下的结果:usage: Class Bla init [-h] ( num NUM | path PATH)

bla.py: error: one of the arguments num path is required

usage: Class Bla init [-h] ( num NUM | path PATH)

bla.py: error: argument num: invalid int value: 'abc'

usage: Class Bla init [-h] ( num NUM | path PATH)

bla.py: error: argument num: not allowed with argument path

这也很酷,因为Bla(help='anything')将实际打印使用情况(并退出)。这是为了回答关于argparse的具体问题,但要清楚地说,@Ivonet有我将用于您的确切示例的答案。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值