检查返回是否不是

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]

这是您不必两次调用该函数的方法

以上是关于检查返回是否不是的主要内容,如果未能解决你的问题,请参考以下文章

如何检查所有代码路径是不是返回值

检查用户是不是在半径范围内

分享前端开发常用代码片段

收藏|分享前端开发常用代码片段

检查数据库中是不是存在行,并返回布尔值

关于js----------------分享前端开发常用代码片段