使用参数将嵌套函数分配给变量

时间:2017-12-18 16:28:29

标签: python-2.7 function

免责声明:就我想要完成的内容而言,我的标题可能不准确,但如果有人可以更正我的术语,我可以更新

我有2个函数,每个函数都有一个单独的用途并且可以单独使用,但偶尔我想将两者结合起来同时执行两个操作并返回单个结果,并且要执行此操作我想分配给变量名称

我知道我可以创建一个第三个功能,它基本上可以完成我想要的功能,因为它非常简单......虽然它对我自己来说有点挑战,但找到一种方法可以做到这一点

def str2bool(string):
    return string.lower() in ("yes", "true", "t", "1")

def get_setting(string):
    if string == 'cat':
        return 'yes'
    else:
        return 'no'

VALID_BOOL = str2bool(get_setting)

print VALID_BOOL('cat')

所以基本上我想将2个函数的组合分配给我可以调用的变量并传入string参数来评估

在我的真实世界代码中,get_setting()将检索用户设置并返回值,然后我想测试该值并将其作为布尔值返回

我再次知道我可以创建一个能够获得价值并进行快速测试的第三个功能..但这更像是为了学习它是否可以像我想要的那样完成..并且到目前为止,我的分配和调用的不同变化是不可行的,它是否可能或者它会变得太复杂?

1 个答案:

答案 0 :(得分:1)

使用lambda很简单,但我不知道它是否正是您所寻找的。

示例:

f = lambda astring : str2bool(get_setting(astring))

输出:

>>> f('cat')
True