Python Lambda
- ਪਿਛਲਾ ਪੰਨਾ Python ਫੰਕਸ਼ਨ
- ਅਗਲਾ ਪੰਨਾ Python ਅਰਰੇ
lambda ਫੰਕਸ਼ਨ ਇੱਕ ਛੋਟੀ ਅਨਾਮਕ ਫੰਕਸ਼ਨ ਹੈ。
lambda ਫੰਕਸ਼ਨ ਕਿਸੇ ਵੀ ਸੰਖਿਆ ਦੇ ਪ੍ਰਵੇਸ਼ ਨੂੰ ਸਵੀਕਾਰ ਕਰ ਸਕਦੇ ਹਨ ਪਰ ਇੱਕ ਹੀ ਐਕਸਪ੍ਰੇਸ਼ਨ ਹੀ ਹੋ ਸਕਦੀ ਹੈ。
ਸਫ਼ਟਵੇਅਰ
lambda arguments : expression
ਪ੍ਰਗਟਾਵਾ ਚਲਾਓ ਅਤੇ ਨਤੀਜਾ ਵਾਪਸ ਦੇਵੋ:
ਇੰਸਟੈਂਸ
ਇੱਕ lambda ਫੰਕਸ਼ਨ ਹੈ ਜੋ ਪ੍ਰਵੇਸ਼ ਵਜੋਂ ਦਿੱਤੇ ਗਏ ਨੰਬਰ ਨੂੰ 10 ਜੋੜਦਾ ਹੈ ਅਤੇ ਫਲੈਕਸ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ:
x = lambda a : a + 10 print(x(5))
lambda ਫੰਕਸ਼ਨ ਕਿਸੇ ਪੈਰਾਮੀਟਰ ਦੀ ਸੰਖਿਆ ਨੂੰ ਮਾਣਯੋਗ ਨਹੀਂ ਕਰਦਾ ਹੈ:
ਇੰਸਟੈਂਸ
ਇੱਕ lambda ਫੰਕਸ਼ਨ ਜੋ ਪੈਰਾਮੀਟਰ a ਅਤੇ b ਨੂੰ ਗੁਣਨ ਕਰਕੇ ਨਤੀਜੇ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ:
x = lambda a, b : a * b print(x(5, 6))
ਇੰਸਟੈਂਸ
ਇੱਕ lambda ਫੰਕਸ਼ਨ ਜੋ ਪੈਰਾਮੀਟਰ a, b ਅਤੇ c ਨੂੰ ਜੋੜਕੇ ਨਤੀਜੇ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ:
x = lambda a, b, c : a + b + c print(x(5, 6, 2))
ਲਾਮਬਡਾ ਫੰਕਸ਼ਨ ਕਿਉਂ ਵਰਤਣਾ ਹੈ?
ਜਦੋਂ ਤੁਸੀਂ lambda ਨੂੰ ਹੋਰ ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ ਅਨਾਮਿਕ ਫੰਕਸ਼ਨ ਵਜੋਂ ਵਰਤੋਂ ਕਰਦੇ ਹੋ ਤਾਂ, lambda ਦੀ ਮਜ਼ਬੂਤੀ ਬਹੁਤ ਬਿਹਤਰ ਦਿਖਾਈ ਦੇਵੇਗੀ。
ਇਕ ਪੈਰਾਮੀਟਰ ਵਾਲੀ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਹੈ ਅਤੇ ਉਹ ਅਣਜਾਣ ਨੰਬਰ ਦੇ ਗੁਣਨ ਵਾਲੀ ਹੈ:
def myfunc(n): return lambda a : a * n
ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਦੀ ਵਰਤੋਂ ਨਾਲ ਅਪਣੇ ਭੇਜੇ ਗਏ ਨੰਬਰ ਨੂੰ ਦੁੱਗਣਾ ਕਰਨ ਵਾਲੀ ਫੰਕਸ਼ਨ ਬਣਾਓ:
ਇੰਸਟੈਂਸ
def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) print(mydoubler(11))
ਜਾਂ ਇੱਕ ਹੀ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਦੀ ਵਰਤੋਂ ਨਾਲ ਅਪਣੇ ਭੇਜੇ ਗਏ ਨੰਬਰ ਨੂੰ ਤਿੰਨ ਗੁਣਾ ਕਰਨ ਵਾਲੀ ਫੰਕਸ਼ਨ ਬਣਾਓ:
ਇੰਸਟੈਂਸ
def myfunc(n): return lambda a : a * n mytripler = myfunc(3) print(mytripler(11))
ਜਾਂ ਇੱਕ ਹੀ ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ ਇੱਕ ਹੀ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਦੀ ਵਰਤੋਂ ਨਾਲ ਦੋ ਫੰਕਸ਼ਨਾਂ ਬਣਾਓ:
ਇੰਸਟੈਂਸ
def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) mytripler = myfunc(3) print(mydoubler(11)) print(mytripler(11))
ਜੇਕਰ ਛੋਟੇ ਸਮੇਂ ਵਿੱਚ ਅਨਾਮਿਕ ਫੰਕਸ਼ਨ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ ਤਾਂ lambda ਫੰਕਸ਼ਨ ਵਰਤੋਂ ਕਰੋ。
- ਪਿਛਲਾ ਪੰਨਾ Python ਫੰਕਸ਼ਨ
- ਅਗਲਾ ਪੰਨਾ Python ਅਰਰੇ