Python හි අභ්යන්තර ශ්රිත සමඟ වැඩ කිරීමේදී සිදුවන සියුම් කරුණු
Python හි, ඇතුළත් ශ්රිත පමණක් නොව, එක් ශ්රිතයක් තවත් ශ්රිතයක් ආපසු ලබා දිය හැකිය. උදාහරණයක් ලෙස, outer ශ්රිතය inner ශ්රිතයේ මූලාශ්ර කේතය ප්රතිඵලයක් ලෙස ආපසු ලබා දෙන්නේ යැයි සිතමු:
def outer():
def inner():
return '+++'
return inner
අපි outer හැඳින්වීම res විචල්යයට ලියන්නෙමු:
res = outer()
print(res)
කේතය ක්රියාත්මක කිරීමෙන් පසු, ශ්රිතය සමඟ වස්තුව මුද්රණය වේ:
<function outer.<locals>.inner at 0x000001564A212B90>
res විචල්යය වරහන් සමඟ කැඳවන්නේ නම්, '+++' පණිවිඩය ආපසු ලැබේ:
print(res()) # '+++' මුද්රණය කරයි
res ට outer වරහන් දෙකක් සමඟ ලිවිය හැකිය - එයම හැඳින්වීමට සහ inner ශ්රිතය හැඳින්වීමට. මෙයින් කියවෙන්නේ, බාහිර ශ්රිතයේ දකුණට අතිරේක වරහන් එහි ඇතුළත් කර ඇති ශ්රිත ගණනට අනුව ලිවිය හැකි බවයි:
res = outer()()
print(res) # '+++' මුද්රණය කරයි
පහත කේතය ලබා දී ඇත:
def outer():
def inner(num):
return num + 2
return inner
res = outer()(3)
print(res)
කොන්සෝලයේ මුද්රණය වන්නේ කුමක්දැයි පවසන්න.
පහත කේතය ලබා දී ඇත:
def outer():
def inner(txt):
return 'hello, ' + txt
return inner
res = outer()
print(res)
කොන්සෝලයේ මුද්රණය වන්නේ කුමක්දැයි පවසන්න.