请用Python解释一下这个Lambda表达式用法

时间:2016-07-06 07:12:29

标签: python lambda manageiq

我在Lambda表达式的概念上苦苦挣扎,我在这里有这段代码:

tf.train.NewCheckpointReader

有人可以在这里向我解释一下Lambda表达式的用法吗? 更多此代码在这里:

https://github.com/ManageIQ/integration_tests/blob/093f4cf42127e2f98cc01d91fc2d4db487543ca1/cfme/containers/pod.py#L11-L35

谢谢!

1 个答案:

答案 0 :(得分:1)

Lambdas是匿名函数,精神上你可以替换这个块

[
    lambda ctx: list_tbl.select_row_by_cells(
        {'Name': ctx['pod'].name, 'Provider': ctx['provider'].name}),
    {
        'containers_pod_edit_tags':
        lambda _: pol_btn('Edit Tags'),
    }
]

def function_1(ctx):
    return list_tbl.select_row_by_cells(
        {'Name': ctx['pod'].name, 'Provider': ctx['provider'].name}
    )

def function_2(_):
    return pol_btn('Edit Tags')


[
    function_1,
    {
        'containers_pod_edit_tags':
        function_2,
    }
]

_中的下划线lambda _:convention in Python,用于您不会使用的变量,"一次性",您可以看到lambda / function没有使用参数_