முத்து,
வணக்கம். நல்லா இருக்கீங்களா? உங்களோட பைத்தான் தொடரைத் தற்செயலா, படிக்கிற வாய்ப்பு கிடைச்சது. போன வாரம் நீங்க, ஒரு functionஇல் இருந்து values return ஆகிறது பற்றி எழுதி இருந்தீங்க. நீங்க கொடுத்த எக்சாம்பிளை முயற்சி செய்து பார்த்தேன். புரிஞ்ச மாதிரியும் இருந்தது, புரியாத மாதிரியும் இருந்தது. தப்பா நினைக்க வேண்டாம். என்னோட புரிதலைச் சொல்றேன். இதில் எனக்கு ஒரு கேள்வி இருக்கு.
ஒரு functionஐக் கொண்டு நாம் வேலை செய்கிறோம். அதில் இருந்து return ஆகவில்லை என்றாலும் output கிடைக்கத் தானே செய்கிறது.
def add(no1, no2):
print(no1 + no2)
add(10,20)
என்பதும்
def add(no1, no2):
return no1+no2
result = add(10,20)
print(result)
என்பதும் ஒரே பதிலைத் தானே தரும். இதில் return என்ன செய்து விடும்? கொஞ்சம் விளக்குங்களேன்.
அன்புள்ள,
சக்தி கணபதி
குறிப்பு: Technical வார்த்தைகளுக்குச் சரிவரத் தமிழில் தெரியவில்லை. எனவே அப்படியே எழுதியிருக்கிறேன்.
சக்தி கணபதி அவர்களுக்கு,
வணக்கம். முதலில் பைத்தான் தொடரைப் படித்ததற்கும் அதில் கேள்விகள் எழுப்பியதற்கும் நன்றிகள். தொழில்நுட்ப வார்த்தைகளை ஆங்கிலத்தில் எழுதியதைக் குறிப்பிட்டிருக்கிறீர்கள். தமிழில் தொழில்நுட்ப வார்த்தைகள் நிறைய உருவாக்கப்பட வேண்டும். அவை நடைமுறைப்படுத்தப்படவும் வேண்டும் தான்! ஆனாலும் பிற மொழிகள் பலவற்றைக் காட்டிலும் தொழில்நுட்பத்தைத் தமிழ்ப்படுத்துவதில் நாம் முன்னோடியாகத் தான் இருக்கிறோம். Bicycle என்னும் ஆங்கில வார்த்தையை நாம் அப்படியே ஈர் உருளி என்று மொழிபெயர்த்த காலம் உண்டு, பிறகு மிதிவண்டி என்று மூல ஆங்கிலச் சொல்லை விடச் சிறப்பான சொல்லை உருவாக்கியதும் நாம் தான். இப்படியே Laptop – மடிக்கணினி (மடியில் வைக்கும் கணினி, மடித்து வைக்கும் கணினி), Array – அணி என நிறைய தொழில்நுட்பச் சொற்களைச் சொல்லலாம். இப்படித் தமிழ் எப்போதும் தன்னை இளமைப்படுத்திக் கொண்டே தான் வந்திருக்கிறது. அதைப் பற்றிப் பேசப் போனால் மணவை முஸ்தபா, இளங்குமரனார் என்று பல தமிழறிஞர்களின் அளப்பரிய தமிழ்த் தொண்டைப் பேசாமல் இருக்க முடியாது. நிற்க! அதை இன்னொரு நாள் பேசுவோம்.
நீங்கள் கேட்க வந்த கேள்வி அருமையானது. பலருக்கும் இந்த சந்தேகம் இருக்கும்.
ஒரு வேலை நடப்பது என்பது வேறு! அந்த வேலையில் இருந்து கிடைக்கும் வெளியீட்டை வெளியே எடுப்பது என்பது! இதைத் தானே புரியவில்லை என்கிறேன் என்கிறீர்களா? இப்படிப் புரிந்து கொள்ளுங்களேன். சமையலறையில் சமைத்து வைப்பது என்பது வேறு, சமைத்த உணவை வெளியே எடுத்துக் கொண்டு வந்து தட்டில் வைப்பது என்பது வேறு! புரிகிறது அல்லவா? இரண்டிலுமே வேலை நடந்திருக்கிறது, ஆனால் முன்னதில் வேலையில் இருந்து கிடைக்கும் உணவு வெளியே கிடைக்காது, பின்னதில் உணவு தட்டிற்கு வந்திருக்கும். இது தான் return கொடுக்காமல் இருப்பதற்கும் return கொடுத்து விடையை வெளியே எடுப்பதற்கும் உள்ள வேறுபாடு! இப்போது புரிந்திருக்கும் என்று நம்புகிறேன்.
இப்போது நீங்கள் எழுதி அனுப்பியிருக்கும் இரண்டு நிரல்களையும் மீண்டும் பாருங்கள். return என்ன செய்யும் என்பது நன்றாகப் புரியும். நான் கூடுதலாக இப்போது அதற்கு இன்னோர் எடுத்துக்காட்டு நிரல் தருகிறேன். பாருங்கள். வேண்டுமென்றே நிரலை விளக்கவில்லை. செயல்கூற்றுக்குக் கொடுக்கப்பட்டிருக்கும் பெயரைக் கொண்டே அது என்ன செய்கிறது என்று ஊகித்துக் கொள்ளுங்கள்.
def withdraw_from_atm():
return 500
def shopping(cash):
print(“Going to Shopping with”, cash)
cash = withdraw_from_atm()
shopping(cash)
அது சரி, போன முறை மூன்று கேள்விகள் கொடுத்து வீட்டுப்பாடமாகச் செய்து வாருங்கள் என்று கேட்டிருந்தேன். இப்போது தான் return நன்றாகப் புரிந்து விட்டதே! எழுதி வாருங்கள். தொடர்ந்து படிக்கலாம்.
கி. முத்துராமலிங்கம்,
பயிலகம், சென்னை