2016-07-06 5 views
1

と、このラムダ式の使用方法を説明してください:誰かが私に説明していただけます)私はラムダ式をコンセプトに少し苦労していると私はここでのコードのこの部分を持っている私にはPython

nav.add_branch(
'containers_pods', 
{ 
    'containers_pod': 
    [ 
     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'), 
     } 
    ], 
    'containers_pod_detail': 
    [ 
     lambda ctx: list_tbl.click_row_by_cells(
      {'Name': ctx['pod'].name, 'Provider': ctx['provider'].name}), 
     { 
      'containers_pod_timelines_detail': 
      lambda _: mon_btn('Timelines'), 
      'containers_pod_edit_tags_detail': 
      lambda _: pol_btn('Edit Tags'), 
     } 
    ] 
} 

をラムダ式の使用法は?このコードの 詳細はこちらです:

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

ありがとう!

+0

「説明する」とはどういう意味ですか?あなたはその構文を意味しますか?ラムダは実際に何をしていますか?なぜ今のところ持っていると便利ですか? – MisterMiyagi

+0

@bakkalはそれをよく説明しています –

+0

あなたの疑問にお答えしますように、他の人がそれを知っているのでスレッド全体を見ることなくそれを知ってください。 – MisterMiyagi

答えて

1

ラムダは、精神的にあなたがlambda _:

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 ctx: list_tbl.select_row_by_cells(
     {'Name': ctx['pod'].name, 'Provider': ctx['provider'].name}), 
    { 
     'containers_pod_edit_tags': 
     lambda _: pol_btn('Edit Tags'), 
    } 
] 

を置き換えることができ、匿名関数ですと、あなたは、使用するつもりはない変数についてconvention in Pythonです」ラムダ/関数が引数_を使用していないことが分かります。

+0

これは突然非常に鮮明です..ありがとう! –

関連する問題