为了账号安全,请及时绑定邮箱和手机立即绑定

从函数返回多个值的最佳方法是什么?

从函数返回多个值的最佳方法是什么?

www说 2021-03-21 21:20:45
我有一个函数,我需要对字符串做一些事情。我需要该函数返回一个布尔值,该布尔值指示操作是否成功,并且还需要返回修改后的字符串。在C#中,我将对字符串使用out参数,但是Python中没有等效的参数。我对Python还是很陌生,我唯一能想到的就是用布尔值和修改后的字符串返回一个元组。
查看完整描述

3 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

def f(in_str):

    out_str = in_str.upper()

    return True, out_str # Creates tuple automatically


succeeded, b = f("a") # Automatic tuple unpacking


查看完整回答
反对 回复 2021-03-22
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

如果操作失败,为什么不抛出异常?就个人而言,我倾向于认为,如果您需要从一个函数中返回多个值,则应该重新考虑是否以正确的方式执行操作或使用对象。

但更直接的一点是,如果引发异常,则迫使他们处理问题。如果您尝试返回一个指示失败的值,则很可能有人无法检查该值并最终导致一些潜在的难以调试的错误。


查看完整回答
反对 回复 2021-03-22
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

返回一个元组。


def f(x):

    # do stuff

    return (True, modified_string)


success, modified_string = f(something)


查看完整回答
反对 回复 2021-03-22
  • 3 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号