检查返回是否不是
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查返回是否不是相关的知识,希望对你有一定的参考价值。
在python3中执行此操作是否有效?
if request_link(requested_domain, requested_link) is not None
domain_res, link_res, r_res = request_link(requested_domain, requested_link)
parse_results(domain_res, r_res)
这是否意味着解释器将两次查看相同的函数?
它有效吗?如果没有,检查函数是否返回并对结果起作用的更好方法是什么?
谢谢!
答案
命名结果?
ret_value = request_link(requested_domain, requested_link)
if ret_value is not None
domain_res, link_res, r_res = ret_value
parse_results(domain_res, r_res)
另一答案
将返回值传递给变量似乎是最快且最自然的方式。非常感谢!
案件结案! :)
顺便说一句,wtf符合那些质量要求?!我不能只说什么解决了问题并感谢人们?!我赞成了所有帮助我的答案。
另一答案
也许只是将返回结果存储在if语句之前:
res = request_link(requested_domain, requested_link)
如果res不是None:domain_res,link_res,r_res = res parse_results(domain_res,r_res)
另一答案
在我看来,你调用相同的函数两次,可能它没有效率,除非python神奇地检测到你之前调用了这个函数并保留输出以防止重复调用。从我看到的,它的声音你的request_link函数返回一个None或一个包含domain_res,link_res,r_res的列表,但如果我想这样做,我按如下方式执行:
def request_link(requested_domain, requested_link):
...
if desired_otput:
return True,domain_res, link_res, r_res
else:
return False, None, None, None
然后在主要功能:
result = request_link(requested_domain, requested_link)
if result[0]:# this means that results are not none
#do what you want with result[1], result[2] , result[3]
这是您不必两次调用该函数的方法
以上是关于检查返回是否不是的主要内容,如果未能解决你的问题,请参考以下文章