我有一个函数,我需要对字符串做一些事情.我需要函数返回一个布尔值,指示操作是否成功,我还需要返回修改后的字符串.
在C#中,我会为字符串使用out参数,但Python中没有等效参数.我仍然是Python的新手,我唯一能想到的是返回一个带有布尔值和修改后的字符串的元组.
相关问题:函数返回多个值是pythonic吗?
在一般的,假设你有一个像下面的方法.
def intersect_two_lists(self, list1, list2):
if not list1:
self.trap_error("union_two_lists: list1 must not be empty.")
return False
if not list2:
self.trap_error("union_two_lists: list2 must not be empty.")
return False
#http://bytes.com/topic/python/answers/19083-standard
return filter(lambda x:x in list1,list2)
Run Code Online (Sandbox Code Playgroud)
在这个特殊的方法中,当发现错误时,我不想在这种情况下返回空列表,因为这可能是这个特定方法调用的真正答案,我想返回一些东西来指示参数不正确.所以我在这种情况下错误地返回False,否则返回一个列表(空或不).
我的问题是,在这样的领域中最好的做法是什么,而不仅仅是列表?返回我想要的任何东西,并确保我记录下来供用户阅读?:-)你们大多数人都做了什么: