如何匹配多个参数?
我有一个功能:
def func(a: int, b: int, c: double): int
并且我想匹配各种可能的场景,
- 当
c
为0时,返回ba
- 当
c
>为0时,返回ba
。 9、return 0 - 凡是
a=b
都return 0
依此类推,如果以上都不满足的话,再做一些更复杂的逻辑。
我是否必须先单独匹配 c,还是可以像 _,_,0
一样匹配 a,b,c?
I have a function:
def func(a: int, b: int, c: double): int
And I want to match various possible scenarios
- Wherever
c
is 0, returnb-a
- Wherever
c
> 9, return 0 - Wherever
a=b
return 0
And so on, before doing some more complex logic if none of the above are satisfied.
Do I have to match c separately first, or can I match on a,b,c, like _,_,0
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以对所有描述的情况进行模式匹配,如下所示:
You can pattern match all described cases like this:
从我对 Easy Angel 的回答的评论来看,我仍然觉得这
更清楚了。基本上是因为这里实际上没有任何模式可以匹配。
Following on from my comments to Easy Angel's answer, I still feel this
is clearer. Basically because there isn't really any pattern to match here.