పైథాన్‌లో రిఫరెన్స్ వర్సెస్ విలువ ద్వారా పాస్

Pass Reference Vs



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

ఆబ్జెక్ట్ రిఫరెన్స్ ద్వారా పైథాన్ పాస్‌కు మద్దతు ఇస్తుంది

పాస్-బై-రిఫరెన్స్ మరియు పాస్-బై-వాల్యూ అనేది ప్రోగ్రామింగ్ లాంగ్వేజ్‌ల మధ్య పారామీటర్ పాస్ చేయడానికి బాగా గుర్తించబడిన మరియు సులభంగా అర్థమయ్యే రెండు మార్గాలు. పైథాన్ పాపం, 'పాస్-బై-ఆబ్జెక్ట్-రిఫరెన్స్,' విలువ ద్వారా పాస్ లేదా రిఫరెన్స్ ద్వారా పాస్ కాదు, దీనిని తరచుగా కాల్ బై ఆబ్జెక్ట్ రిఫరెన్స్ అలాగే కాల్ బై షేరింగ్ అని పిలుస్తారు. మీరు సూచన ద్వారా ఉత్తీర్ణులయ్యే సాంకేతిక ప్రత్యేకతలలో మునిగిపోతున్నప్పుడు భావనను విభాగాలుగా విభజించడం ద్వారా మరింత దగ్గరగా చూడటం ఉపయోగపడుతుంది:







ఉత్తీర్ణత: దీని అర్థం ఒక వాదనతో ఒక పద్ధతిని సరఫరా చేయడం.



సూచన ద్వారా: దీని అర్థం మీరు పద్ధతికి వెళ్ళే వాదన ఆ వేరియబుల్ యొక్క విభిన్న ప్రతిరూపానికి బదులుగా ఇప్పుడు నిల్వలో ఉండే వేరియబుల్‌ను సూచిస్తుంది.



మీరు పద్ధతిని నిర్వచించిన వేరియబుల్‌కు సూచనగా కేటాయించినప్పుడు, దానికి సంబంధించిన వేరియబుల్ ఈ రిఫరెన్స్‌లోని అన్ని కార్యకలాపాల ద్వారా స్పష్టంగా ప్రభావితమవుతుంది. ఇప్పుడు, ఆచరణలో, ఇది ఎలా పనిచేస్తుందో ఒక ఉదాహరణను పరిశీలిద్దాం. ఈ ఉదాహరణలో, మేము వేరియబుల్ నిర్వచించాము ' కోపం' విలువ కలిగి ఉంది 4 . ఈ దృష్టాంతంలో, వేరియబుల్ ' కోపం' దాని స్థానంలో సవరించబడలేదు. ప్రస్తుత వేరియబుల్‌ను స్వీయ-నియంత్రణ విలువగా సూచించడానికి బదులుగా మీరు అందించిన వాదనను పైథాన్ నిర్వహిస్తున్నట్లు కనిపిస్తోంది.





దీని అర్థం రిఫరెన్స్ ద్వారా కాకుండా, పైథాన్ వాదనలను విలువ ద్వారా కదిలిస్తుందా? పైథాన్ అసైన్‌మెంట్ ద్వారా వాదనలను కదిలిస్తుంది, కాబట్టి సూచన ద్వారా లేదా విలువతో కాదు. దీని కోసం లాజిక్ రెండు రెట్లు:



ప్రస్తుతం, పరామితి లోపలికి వెళ్లే వస్తువు ఒక పాయింటర్. నిర్దిష్ట రకాల డేటా పరివర్తన చెందుతుంది మరియు కొన్ని మార్చబడవు.

మేము ఒక ఫంక్షన్‌లోకి మార్చగల వస్తువును తరలించినట్లయితే, ఫంక్షన్ అదే వస్తువుకు సూచనను పొందుతుంది కాబట్టి మీరు మీ ఆత్మ సంతృప్తికి అన్నింటినీ మ్యుటేట్ చేయవచ్చు; అయితే, మీరు ఫంక్షన్‌లో రిఫరెన్స్‌లో మళ్లీ చేరడానికి ముందు బాహ్య పరిధికి ఏమీ తెలియదు. మీరు పూర్తి చేసిన తర్వాత, బాహ్య సూచన వాస్తవ వస్తువును మాత్రమే లక్ష్యంగా చేసుకుంటుంది. మీరు మార్పులేని వస్తువును ఒక ఫంక్షన్‌కి తరలించినట్లయితే, బాహ్య సూచన ఎల్లప్పుడూ తిరిగి బంధించబడదు మరియు మీరు ఆ వస్తువును మ్యుటేట్ చేయలేరు. విషయాలను మరింత సూటిగా చేయడానికి, ఒక్కొక్కటిగా అర్థం చేసుకుందాం.

సూచన ద్వారా పాస్

అన్నింటిలో మొదటిది, వేరియబుల్ 'మైలిస్ట్' అనేది జాబితా కాదని మీరు అర్థం చేసుకోవాలి కానీ విలువలు కలిగిన జాబితాను సూచిస్తుంది. మీరు వేరియబుల్ 'మైలిస్ట్' ను దాని లోపల విలువలు కలిగిన కంటైనర్ అని పిలవవచ్చు. జాబితా విలువలు వస్తువులు. 'మైలిస్ట్' వేరియబుల్ దాని కంటెంట్‌లతో నేరుగా ఫంక్షన్‌కి బట్వాడా చేయబడింది.

దిగువ జాబితా ఉదాహరణలో జాబితా & నా జాబితా రెండూ ఒకే స్టోరేజ్ వేరియబుల్‌గా కనిపిస్తాయి మరియు అదే స్టోరేజ్ ఆబ్జెక్ట్‌కు వర్తిస్తాయి. అందుకే అవుట్‌పుట్‌లో, అది ‘సయీద్’ అని ముద్రించింది.

వేరియబుల్ లేదా ఎంటిటీపై చేసిన ఏదైనా చర్య వెంటనే కాలర్ పద్ధతికి ప్రతిబింబిస్తుంది. ఈ పద్ధతి వేరియబుల్ విలువను పూర్తిగా సవరించవచ్చు మరియు దానిని పూర్తిగా విభిన్నమైన వస్తువుపై లక్ష్యంగా చేసుకోవచ్చు. మీరు 'set_list' ఫంక్షన్‌లో చూడగలిగినట్లుగా, మేము జాబితా విషయాలను మార్చాము మరియు 'Aqsa' మూలకం కలిగిన సరికొత్త జాబితాను ముద్రించాము. ఎందుకంటే మేము సవరించిన జాబితాను తిరిగి ఇచ్చాము మరియు కాలర్ వలె అదే లైన్‌లో ముద్రించాము.

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

విలువ ద్వారా పాస్

విలువ ద్వారా పాస్ ద్వారా, పద్ధతి కాలర్ దానికి కేటాయించే ఆర్గ్యుమెంట్ ఆబ్జెక్ట్ యొక్క నకిలీతో సరఫరా చేయబడుతుంది. ఇది ఒరిజినల్ ఐటెమ్ మారకుండా ఉండేలా చేస్తుంది మరియు చేసిన అన్ని మార్పులు ఒకే వస్తువు యొక్క ప్రతిరూపంలో ప్రత్యేక మెమరీ స్థానాల్లో ఉంచబడతాయి.

పద్ధతి ద్వారా వేరియబుల్ లేదా ఎంటిటీపై అమలు చేయబడిన ఏవైనా ఆపరేషన్‌లతో సమానంగా చెల్లుబాటు అవుతుంది. కాలర్ పద్ధతి యొక్క పరిధిలోని వేరియబుల్స్ & వస్తువుల నకిలీలు వాటిని సంగ్రహించడానికి పూర్తిగా వేరు చేయబడ్డాయి.

సూచన ద్వారా పాస్ ఆబ్జెక్ట్

ఈ పరిస్థితి అంతా, పైథాన్ విభిన్నంగా ఉన్నందున, పైథాన్ యొక్క పద్ధతులు కాలర్ సూచించినట్లుగా నిల్వలో ఒకే విధమైన వస్తువు సూచనను పొందుతాయి. దీనికి విరుద్ధంగా, టెక్నిక్ వేరియబుల్ 'మైలిస్ట్' (కంటైనర్) ను పొందదు. కాలర్ పద్ధతి ఒకే వస్తువును నిల్వ చేస్తుంది; ఈ పద్ధతి ఒకరి కంటైనర్‌ను ఉత్పత్తి చేస్తుంది మరియు పాస్-బై-వాల్యూలో ఉన్నట్లుగా, దాని స్వంతం కోసం పూర్తిగా తాజా ఇండెక్స్‌ని ఉత్పత్తి చేస్తుంది.

కాలర్ మరియు పద్ధతి స్టోరేజ్‌లోని ఒకే వస్తువు గురించి మాట్లాడతాయి, కానీ జోడించిన పద్ధతి బాహ్య అంశాన్ని జాబితాకు వర్తింపజేసినప్పుడు, కాలర్ ఎంటిటీ సవరించబడుతుంది. వారికి బహుళ లేబుల్స్ ఉన్నాయి, కానీ అవి ఒకే విషయాలు. రెండు వేరియబుల్స్ చాలా సారూప్య వస్తువును కలిగి ఉంటాయి. వస్తువు ద్వారా కదిలే దాని సంబంధం వెనుక భావం. నిల్వలో, పద్ధతి మరియు కాలర్ ఇలాంటి వస్తువును ఉపయోగిస్తాయి, అయితే వాటిని బహుళ వేరియబుల్స్ ద్వారా పట్టుకుంటాయి. కాలర్ వేరియబుల్ (కంటైనర్) పద్ధతి వేరియబుల్ (కంటైనర్) కు చేసిన ఏవైనా మార్పుల ద్వారా మార్చబడదు; డేటా లేదా కంటెంట్ మాత్రమే సవరించబడింది.

ముగింపు

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