లాంబ్డా విధులు ఏమిటి మరియు వాటిని ఎలా ఉపయోగించాలి?



సాధారణ ఫంక్షన్లు మరియు లాంబ్డా ఫంక్షన్ల మధ్య వ్యత్యాసంతో పాటు పైథాన్ లాంబ్డా ఫంక్షన్లను తెలుసుకోండి మరియు వాటిని ఫిల్టర్ (), మ్యాప్ (), తగ్గించడం () లో ఎలా ఉపయోగించవచ్చో తెలుసుకోండి.

పేరు అనేది ఏదైనా సంస్థను సూచించడానికి లేదా పరిష్కరించడానికి ఉపయోగించే ఒక సమావేశం. మన చుట్టూ ఉన్న ప్రతిదానికీ ఒక పేరు ఉంది. ప్రోగ్రామింగ్ ప్రపంచం కూడా దీనికి అనుగుణంగా వెళుతుంది. అయితే ప్రతిదానికీ పేరు పెట్టడం తప్పనిసరి కాదా? లేదా మీరు కేవలం ‘అనామక’ ఏదో కలిగి ఉండగలరా? సమాధానం, అవును. ' లాంబ్డా ఫంక్షన్లను అందిస్తుంది, దీనిని అనామక ఫంక్షన్లు అని కూడా పిలుస్తారు, అవి వాస్తవానికి పేరులేనివి. కాబట్టి పైథాన్ యొక్క ఈ ‘అనామక రహస్యాలు’ గురించి ఈ క్రింది క్రమంలో తెలుసుకోవడానికి ముందుకు వెళ్దాం.

కాబట్టి ప్రారంభిద్దాం :)





పైథాన్ లాంబ్డా విధులను ఎందుకు ఉపయోగించాలి?


మీకు కొంత ఫంక్షన్ అవసరమైనప్పుడు అనామక ఫంక్షన్ల యొక్క ముఖ్య ఉద్దేశ్యం చిత్రంలోకి వస్తుంది. అవసరమైన చోట వాటిని సృష్టించవచ్చు. ఈ కారణంగా, పైథాన్ లాంబ్డా ఫంక్షన్లను త్రో-దూరంగా ఫంక్షన్లు అని కూడా పిలుస్తారు, వీటిని ఫిల్టర్ (), మ్యాప్ () వంటి ఇతర ముందే నిర్వచించిన ఫంక్షన్లతో పాటు ఉపయోగిస్తారు. ఈ ఫంక్షన్లు పోల్చినప్పుడు మీ కోడ్ యొక్క పంక్తుల సంఖ్యను తగ్గించడంలో సహాయపడతాయి. సాధారణ .

దీన్ని నిరూపించడానికి, పైథాన్ లాంబ్డా ఫంక్షన్ల గురించి మరింత తెలుసుకుందాం.



పైథాన్ లాంబ్డా విధులు ఏమిటి?


పైథాన్ లాంబ్డా ఫంక్షన్లు పేరు లేని ఫంక్షన్లు. వాటిని అనామక లేదా పేరులేని ఫంక్షన్లు అని కూడా అంటారు. ‘లాంబ్డా’ అనే పదం పేరు కాదు, దాని కీవర్డ్. ఈ కీవర్డ్ క్రింది ఫంక్షన్ అనామక అని నిర్దేశిస్తుంది.

ఈ అనామక ఫంక్షన్లు దేనిని సూచిస్తాయో ఇప్పుడు మీకు తెలుసు, మీరు ఈ పైథాన్ లాంబ్డా ఫంక్షన్లను ఎలా వ్రాస్తారో చూడటానికి మరింత ముందుకు వెళ్దాం.

పైథాన్‌లో లాంబ్డా విధులు ఎలా రాయాలి?

లాంబ్డా ఆపరేటర్ ఉపయోగించి లాంబ్డా ఫంక్షన్ సృష్టించబడుతుంది మరియు దాని వాక్యనిర్మాణం క్రింది విధంగా ఉంటుంది:



సింటాక్స్:

లాంబ్డా వాదనలు: వ్యక్తీకరణ

పైథాన్ లాంబ్డా ఫంక్షన్ ఎన్ని వాదనలు ఉండవచ్చు కానీ అది పడుతుంది ఒక వ్యక్తీకరణ. ఇన్‌పుట్‌లు లేదా వాదనలు 0 వద్ద ప్రారంభమవుతాయి మరియు ఏదైనా పరిమితికి వెళ్ళవచ్చు. ఇతర ఫంక్షన్ల మాదిరిగానే, ఇన్‌పుట్‌లు లేని లాంబ్డా ఫంక్షన్‌లు కలిగి ఉండటం చాలా మంచిది. అందువల్ల, మీరు ఈ క్రింది ఫార్మాట్లలో లాంబ్డా ఫంక్షన్లను కలిగి ఉండవచ్చు:

ఉదాహరణ:

లాంబ్డా: “ప్రయోజనాన్ని పేర్కొనండి”

ఇక్కడ, లాంబ్డా ఫంక్షన్ ఎటువంటి వాదనలు తీసుకోలేదు.

ఉదాహరణ:

లాంబ్డా aఒకటి: “A యొక్క ఉపయోగాన్ని పేర్కొనండిఒకటి'

ఇక్కడ, లాంబ్డా ఒక ఇన్పుట్ తీసుకుంటుంది, ఇది aఒకటి.

శక్తిలో డాక్స్ అంటే ఏమిటి

అదేవిధంగా, మీరు లాంబ్డా a కలిగి ఉండవచ్చుఒకటి, కు2, కు3..కుn.

దీన్ని ప్రదర్శించడానికి కొన్ని ఉదాహరణలు తీసుకుందాం:

ఉదాహరణ 1:

a = లాంబ్డా x: x * x ప్రింట్ (a (3))

అవుట్పుట్: 9

ఉదాహరణ 2:

a = లాంబ్డా x, y: x * y ప్రింట్ (a (3,7%)

అవుట్పుట్: ఇరవై ఒకటి

మీరు గమనిస్తే, నేను ఇక్కడ రెండు ఉదాహరణలు తీసుకున్నాను. మొదటి ఉదాహరణ లాంబ్డా ఫంక్షన్‌ను కేవలం ఒక వ్యక్తీకరణతో ఉపయోగించుకుంటుంది, అయితే రెండవ ఉదాహరణకి రెండు వాదనలు ఉన్నాయి. దయచేసి రెండు ఫంక్షన్లకు ఒకే వ్యక్తీకరణ ఉంటుంది, తరువాత వాదనలు ఉంటాయి. అందువల్ల, మీకు బహుళ-లైన్ వ్యక్తీకరణలు అవసరమైన చోట లాంబ్డా విధులు ఉపయోగించబడవు.

మరోవైపు, సాధారణ పైథాన్ ఫంక్షన్లు వాటి ఫంక్షన్ నిర్వచనాలలో ఎన్ని ప్రకటనలను తీసుకోవచ్చు.

అనామక ఫంక్షన్లు కోడ్ పరిమాణాన్ని ఎలా తగ్గిస్తాయి?

అవసరమైన కోడ్ మొత్తాన్ని పోల్చడానికి ముందు, మొదట దాని వాక్యనిర్మాణాన్ని వ్రాద్దాం మరియు ముందు వివరించిన లాంబ్డా ఫంక్షన్లతో పోల్చండి.

పైథాన్ లోని ఏదైనా సాధారణ ఫంక్షన్ a ఉపయోగించి నిర్వచించబడుతుంది డెఫ్ కీవర్డ్ క్రింది విధంగా:

సింటాక్స్:

డెఫ్ ఫంక్షన్_పేరు (పారామితులు):
ప్రకటన (లు)

మీరు గమనిస్తే, లాంబ్డా ఫంక్షన్ కోసం అవసరమైన కోడ్ మొత్తం సాధారణ ఫంక్షన్ల కంటే చాలా తక్కువ.

బఫర్డ్ రీడర్ అంటే ఏమిటి

ఇప్పుడు మనం సాధారణ ఫంక్షన్లను ఉపయోగించి తీసుకున్న ఉదాహరణను తిరిగి వ్రాద్దాం.

ఉదాహరణ:

def my_func (x): తిరిగి x * x ముద్రణ (my_func (3))

అవుట్పుట్: 9

మీరు చూడగలిగినట్లుగా, పై ఉదాహరణలో, 3 యొక్క చదరపు విలువను అంచనా వేయడానికి మనకు my_func లో రిటర్న్ స్టేట్మెంట్ అవసరం. దీనికి విరుద్ధంగా, లాంబ్డా ఫంక్షన్ ఈ రిటర్న్ స్టేట్మెంట్ ను ఉపయోగించదు, కానీ, అనామక ఫంక్షన్ యొక్క శరీరం పెద్దప్రేగు చిహ్నం తరువాత, ఫంక్షన్ వలె అదే పంక్తిలో వ్రాయబడుతుంది. అందువల్ల ఫంక్షన్ యొక్క పరిమాణం my_func కంటే చిన్నది.

ఏదేమైనా, పై ఉదాహరణలలోని లాంబ్డా ఫంక్షన్లను మరికొన్ని ఉపయోగించి పిలుస్తారు a. ఈ ఫంక్షన్లు పేరులేనివి కాబట్టి కొంత పేరు పిలవవలసిన అవసరం ఉన్నందున ఇది జరుగుతుంది. కానీ, ఈ పేరులేని ఫంక్షన్లను మీరు పిలవడానికి వేరే పేరును కేటాయించాల్సిన అవసరం వచ్చినప్పుడు ఎందుకు ఉపయోగించాలో ఈ వాస్తవం గందరగోళంగా అనిపించవచ్చు. వాస్తవానికి, నా ఫంక్షన్‌కు పేరును కేటాయించిన తర్వాత, అది పేరు లేకుండా ఉండదు! సరియైనదా?

ఇది చట్టబద్ధమైన ప్రశ్న, కానీ విషయం ఏమిటంటే, ఈ అనామక ఫంక్షన్లను ఉపయోగించటానికి ఇది సరైన మార్గం కాదు.

అనామక ఫంక్షన్లు ఇతర వాటిలో ఉత్తమంగా ఉపయోగించబడతాయి అధిక-ఆర్డర్ విధులు అవి కొన్ని ఫంక్షన్‌ను ఆర్గ్యుమెంట్‌గా ఉపయోగించుకుంటాయి లేదా ఫంక్షన్‌ను అవుట్‌పుట్‌గా తిరిగి ఇస్తాయి. దీన్ని ప్రదర్శించడానికి, ఇప్పుడు మన తదుపరి అంశం వైపు వెళ్దాం.

వినియోగదారు నిర్వచించిన ఫంక్షన్లలో పైథాన్ లాంబ్డా విధులు:

పైన చెప్పినట్లుగా, లాంబ్డా ఫంక్షన్లను ఇతర ఫంక్షన్లలో ఉత్తమమైన ప్రయోజనాన్ని గుర్తించడానికి ఉపయోగిస్తారు.

కింది ఉదాహరణలో న్యూ_ఫంక్ ఉంటుంది, ఇది ఒక సాధారణ పైథాన్ ఫంక్షన్, ఇది ఒక వాదన x తీసుకుంటుంది. ఈ వాదన తరువాత లాంబ్డా ఫంక్షన్ ద్వారా సరఫరా చేయబడిన కొన్ని తెలియని ఆర్గ్యుమెంట్ y కు జోడించబడుతుంది.

ఉదాహరణ:

def new_func (x): తిరిగి (lambda y: x + y) t = new_func (3) u = new_func (2) print (t (3)) print (u (3))

అవుట్పుట్:

6
5
మీరు చూడగలిగినట్లుగా, పై ఉదాహరణలో, క్రొత్త_ఫంక్ () ను ఉపయోగించినప్పుడల్లా క్రొత్త_ఫంక్‌లో ఉన్న లాంబ్డా ఫంక్షన్ అంటారు. ప్రతిసారీ, మేము వాదనలకు ప్రత్యేక విలువలను పంపవచ్చు.

అధిక-ఆర్డర్ ఫంక్షన్లలో అనామక ఫంక్షన్లను ఎలా ఉపయోగించాలో ఇప్పుడు మీరు చూశారు, ఫిల్టర్ (), మ్యాప్ () మరియు తగ్గించు () పద్ధతుల్లో ఉన్న దాని అత్యంత ప్రజాదరణ పొందిన ఉపయోగంలో ఒకదాన్ని అర్థం చేసుకోవడానికి ఇప్పుడు ముందుకు వెళ్దాం.

ఫిల్టర్ (), మ్యాప్ () లో అనామక ఫంక్షన్లను ఎలా ఉపయోగించాలి మరియు తగ్గించండి ():

లోపల అనామక విధులు ఫిల్టర్ ():

ఫిల్టర్ ():

ఫిల్టర్ () పద్దతి ఇచ్చిన ఫంక్షన్లను (జాబితాలు, సెట్లు మొదలైనవి) మరొక ఫంక్షన్ సహాయంతో ఫిల్టర్ చేయడానికి, వాదనగా ఆమోదించబడి, అన్ని అంశాలను నిజం లేదా తప్పు అని పరీక్షించడానికి ఉపయోగిస్తారు.

ఈ ఫంక్షన్ యొక్క వాక్యనిర్మాణం:

సింటాక్స్:

ఫిల్టర్ (ఫంక్షన్, పునరుత్పాదక)

ఇప్పుడు ఈ క్రింది ఉదాహరణను పరిశీలించండి:

ఉదాహరణ:

ఈ కీవర్డ్‌ని ఉపయోగించడానికి 6 మార్గాలు ఏమిటి
my_list = [2,3,4,5,6,7,8] new_list = list (ఫిల్టర్ (లాంబ్డా a: (a / 3 == 2), my_list)) ప్రింట్ (క్రొత్త_ జాబితా)

అవుట్పుట్: [6]

ఇక్కడ, my_list అనేది ఫిల్టర్ ఫంక్షన్‌కు పంపబడే పునరుత్పాదక విలువల జాబితా. ఈ ఫంక్షన్ జాబితాలో ఏమైనా విలువలు ఉన్నాయో లేదో తనిఖీ చేయడానికి లాంబ్డా ఫంక్షన్‌ను ఉపయోగిస్తుంది, అది 3 తో ​​విభజించినప్పుడు 2 కి సమానం అవుతుంది. అవుట్‌పుట్ అనామక ఫంక్షన్‌లో ఉన్న వ్యక్తీకరణను సంతృప్తిపరిచే జాబితాను కలిగి ఉంటుంది.

మ్యాప్ ():

పైథాన్‌లోని మ్యాప్ () ఫంక్షన్ అన్ని ఫంక్షన్లకు ఇచ్చిన ఫంక్షన్‌ను వర్తింపజేస్తుంది మరియు క్రొత్త జాబితాను అందిస్తుంది.

సింటాక్స్:

మ్యాప్ (ఫంక్షన్, పునరుత్పాదక)

మ్యాప్ () ఫంక్షన్‌లో లాంబ్డా ఫంక్షన్ల వాడకాన్ని ప్రదర్శించడానికి ఒక ఉదాహరణ తీసుకుందాం:

ఉదాహరణ:

my_list = [2,3,4,5,6,7,8] new_list = list (పటం (లాంబ్డా a: (a / 3! = 2), li)) ముద్రణ (క్రొత్త_ జాబితా)

అవుట్పుట్:

[నిజం, నిజం, నిజం, నిజం, తప్పుడు, నిజం, నిజం]

పై అవుట్పుట్ చూపిస్తుంది, పునరావృతాల విలువ 3 తో ​​విభజించినప్పుడు 2 కి సమానం కానప్పుడు, తిరిగి వచ్చిన ఫలితం ట్రూ అయి ఉండాలి. అందువల్ల, my_list లోని అన్ని మూలకాలకు, పరిస్థితి తప్పుగా మారినప్పుడు విలువ 6 మినహా ఇది నిజం అవుతుంది.

తగ్గించు ():

తగ్గించు () ఫంక్షన్ కొన్ని ఇతర ఫంక్షన్లను దానికి పారామితిగా పంపిన అంశాల జాబితాకు వర్తింపచేయడానికి ఉపయోగించబడుతుంది మరియు చివరికి ఒకే విలువను అందిస్తుంది.

ఈ ఫంక్షన్ యొక్క వాక్యనిర్మాణం క్రింది విధంగా ఉంది:

సింటాక్స్:

తగ్గించండి (ఫంక్షన్, క్రమం)

ఉదాహరణ:

ఫంక్టూల్స్ దిగుమతి తగ్గించడం తగ్గించండి (లాంబ్డా ఎ, బి: ఎ + బి, [23,21,45,98])

పై ఉదాహరణ క్రింది చిత్రంలో వర్ణించబడింది:

తగ్గించు-పైథాన్ లాంబ్డా-ఎడురేకా

అవుట్పుట్: 187

జాబితా యొక్క అన్ని అంశాలు అవుట్‌పుట్ స్పష్టంగా చూపిస్తుంది నిరంతరం జోడించబడింది తుది ఫలితాన్ని ఇవ్వడానికి.

దీనితో, ‘పైథాన్ లాంబ్డా’ పై ఈ కథనాన్ని మేము చివరికి వచ్చాము. మీతో పంచుకున్న అన్ని విషయాలతో మీరు స్పష్టంగా ఉన్నారని ఆశిస్తున్నాము. మీరు వీలైనంత వరకు ప్రాక్టీస్ చేశారని నిర్ధారించుకోండి మరియు మీ అనుభవాన్ని తిరిగి పొందండి.

మాకు ప్రశ్న ఉందా? దయచేసి ఈ “పైథాన్ లాంబ్డా” బ్లాగ్ యొక్క వ్యాఖ్యల విభాగంలో పేర్కొనండి మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.

పైథాన్‌తో పాటు దాని వివిధ అనువర్తనాలతో లోతైన జ్ఞానం పొందడానికి, మీరు ప్రత్యక్ష ప్రసారం కోసం నమోదు చేసుకోవచ్చు 24/7 మద్దతు మరియు జీవితకాల ప్రాప్యతతో.