sec*_*ean 66 python variables return
我有一个函数,我需要对字符串做一些事情.我需要函数返回一个布尔值,指示操作是否成功,我还需要返回修改后的字符串.
在C#中,我会为字符串使用out参数,但Python中没有等效参数.我仍然是Python的新手,我唯一能想到的是返回一个带有布尔值和修改后的字符串的元组.
相关问题:函数返回多个值是pythonic吗?
Joh*_*kin 127
def f(in_str):
out_str = in_str.upper()
return True, out_str # Creates tuple automatically
succeeded, b = f("a") # Automatic tuple unpacking
Run Code Online (Sandbox Code Playgroud)
Jas*_*ker 29
如果操作不成功,为什么不抛出异常?就个人而言,我倾向于认为如果你需要从一个函数返回多个值,你应该重新考虑你是以正确的方式做事还是使用一个对象.
但更直接的是,如果你抛出异常,你就迫使他们处理这个问题.如果您尝试返回一个指示失败的值,那么很可能有人无法检查该值并最终导致一些可能难以调试的错误.
rmm*_*mmh 16
返回一个元组.
def f(x):
# do stuff
return (True, modified_string)
success, modified_string = f(something)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
74082 次 |
最近记录: |