rozważenia:lambda * args, ** kwargs: Brak
blank_fn = lambda *args, **kwargs: None
def callback(x, y, z=''):
print x, y, z
def perform_task(callback=blank_fn):
print 'doing stuff'
callback('x', 'y', z='z')
Motywacją dla robią to w ten sposób jest nie mam umieścić w logice, by sprawdzić, czy zwrotna został przypisany, ponieważ domyślnie blank_fn który po prostu nie robi nic.
To działa, ale czy jest jakiś powód, dla którego nie powinienem tego robić? Czy to pyton? Czy istnieje lepszy sposób na zrobienie tego? Czy jest wbudowany do: „Zawsze należy stosować oświadczenie def zamiast instrukcji przypisania, które wiąże wyrażenia lambda bezpośrednio do nazwy”
lambda *args, **kwargs: None
Użycie 'lambda' do zdefiniowania nazwanej funkcji nie jest pythoną, nie. Użyj 'def'. – geoffspear