Нужно понять значение двух лямбда-символов в одной строке в python

#python

#python

Вопрос:

В моем коде есть функция ниже, я не понимаю ее значения. Может кто-нибудь, пожалуйста, направить меня.

 x = lambda a: lambda a: a   10
print(x)
print(x(3))
  

Вывод:

 <function <lambda> at 0x2adc7e51d1e0>
<function <lambda>.<locals>.<lambda> at 0x2adc7e654ea0>
  

Комментарии:

1. Ну, функция x возвращает функцию, но первая a бессмысленна. Вызовите его с x("doesn't matter")(15) помощью, и вы получите 25.

2. Я не понимаю смысла этого. Может кто-нибудь, пожалуйста, направить меня. — вы можете быть более конкретными? Вы знаете, что lambda такое s?

Ответ №1:

В принципе, это похоже на эту функцию кода:

 def myFunc(x):
   return lambda b: b   10

x = lambda a: myFunc(a) 
  

обратите внимание, что параметр myFunc не используется, совершенно бесполезен.

Комментарии:

1. Я был немного запутан в первой версии, я отредактировал, но вы поняли идею 🙂