微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果输出不为假,则将函数解包为变量

如何解决如果输出不为假,则将函数解包为变量

有没有更优雅的方法来检查函数输出是否为假? 如果不是,如果函数代价高,第二种方法是否是好的解决方案?

def get_first_last_name(name):
    if ' ' not in name:
        return False

    return name.split()

if get_first_last_name('John Smith'):
    first_name,last_name = get_first_last_name('John Smith')

output = get_first_last_name('John Smith')
if output:
    first_name,last_name = output

解决方法

第一个解决方案的主要问题是函数运行了两次。在这种情况下,这会浪费 CPU 时间,但不会浪费太多其他时间。如果该函数执行副作用(写入文件,打印到屏幕),这些影响将发生两次。由于这些原因,我无论如何都会完全避免第一种方法。

第二种方法很典型。这绝对是我在这种情况下会采用的方法,而且确实是我以前使用过很多次的方法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。