一段代码经常需要用到,封为函数。但是其中有直接 return 也有不 return 然后后续有不同的处理的,怎么解决?

2016-08-28 12:45:48 +08:00
 Chyroc
3215 次点击
所在节点    Python
17 条回复
dousao
2016-08-28 12:47:43 +08:00
break
Cbdy
2016-08-28 12:49:20 +08:00
每个函数都要 return ,不然怎么回到调用者?
hahasong
2016-08-28 12:57:35 +08:00
把公共的抽出来成一个函数,不同处理的再另写一个调用这个函数,之后再继续自己的处理
Arnie97
2016-08-28 13:01:16 +08:00
@Cbdy 他的意思是 explicit 的写一个 return 语句
zhuangzhuang1988
2016-08-28 13:09:45 +08:00
raise exception
21grams
2016-08-28 14:46:57 +08:00
那就 return 呗,这有啥好纠结的
wizardoz
2016-08-28 15:20:41 +08:00
回调函数
iamzuoxinyu
2016-08-28 15:23:02 +08:00
函数加个 boolean 参数, true 则返回,否则继续。
bombless
2016-08-28 15:29:05 +08:00
其实你永远不需要 return

你只需要把你想丢出来的值包到异常里抛出来

搞不懂 return 有啥用(滑稽
tiiime
2016-08-28 15:32:37 +08:00
@bombless 角度刁钻
secondwtq
2016-08-28 18:47:01 +08:00
Exception 不是 Expectation ... 随便当 control flow 用不太好吧
stillwater
2016-08-28 19:40:21 +08:00
走到最后自己就 return None 了
fiht
2016-08-29 00:07:29 +08:00
我才楼上是个写 python 的.
出现这样的事情那我感觉楼主你的方法封装得有点不对头啊
llajaunie
2016-08-29 00:46:17 +08:00
这样如何

bool action( int entree, int *sortie){
//...
if(succes){
*sortie= valeur;
return true ;
}
//....

return false ;
}
annielong
2016-08-29 09:32:08 +08:00
或者都 return ,只不过不需要 return 的话 return 一个特殊值,然后调用后判断这个值
linuxchild
2016-08-29 09:36:18 +08:00
遇到过类似情况 记得好像是把明确处理的给了值 其他的直接 return 了
msg7086
2016-08-29 20:49:17 +08:00
明确函数的指责,不要为了重用就一股脑打包拆出来。
哪部分负责什么操作,输入是啥,输出是啥,异常是啥,做什么,先想好,就不会出现这种问题了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/302251

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX