Python හි අභ්‍යන්තර ශ්‍රිත සමඟ වැඩ කිරීමේදී සිදුවන සියුම් කරුණු

Python හි, ඇතුළත් ශ්‍රිත පමණක් නොව, එක් ශ්‍රිතයක් තවත් ශ්‍රිතයක් ආපසු ලබා දිය හැකිය. උදාහරණයක් ලෙස, outer ශ්‍රිතය inner ශ්‍රිතයේ මූලාශ්‍ර කේතය ප්‍රතිඵලයක් ලෙස ආපසු ලබා දෙන්නේ යැයි සිතමු:

pythondef outer():
  def inner():
    return '+++'

  return inner

අපි outer හැඳින්වීම res විචල්‍යයට ලියන්නෙමු:

pythonres = outer()
print(res)

කේතය ක්‍රියාත්මක කිරීමෙන් පසු, ශ්‍රිතය සමඟ වස්තුව මුද්‍රණය වේ:

python<function outer.<locals>.inner at 0x000001564A212B90>

res විචල්‍යය වරහන් සමඟ කැඳවන්නේ නම්, '+++' පණිවිඩය ආපසු ලැබේ:

pythonprint(res()) # '+++' මුද්‍රණය කරයි

res ට outer වරහන් දෙකක් සමඟ ලිවිය හැකිය - එයම හැඳින්වීමට සහ inner ශ්‍රිතය හැඳින්වීමට. මෙයින් කියවෙන්නේ, බාහිර ශ්‍රිතයේ දකුණට අතිරේක වරහන් එහි ඇතුළත් කර ඇති ශ්‍රිත ගණනට අනුව ලිවිය හැකි බවයි:

pythonres = outer()()
print(res) # '+++' මුද්‍රණය කරයි
Задание 1

පහත කේතය ලබා දී ඇත:

pythondef outer():
  def inner(num):
    return num + 2

  return inner
  
res = outer()(3)
print(res)

කොන්සෝලයේ මුද්‍රණය වන්නේ කුමක්දැයි පවසන්න.

Задание 2

පහත කේතය ලබා දී ඇත:

pythondef outer():
  def inner(txt):
    return 'hello, ' + txt

  return inner
  
res = outer()
print(res)

කොන්සෝලයේ මුද්‍රණය වන්නේ කුමක්දැයි පවසන්න.