⊗pyPmFnIFN 22 of 129 menu

পাইথনে অভ্যন্তরীণ ফাংশন নিয়ে কাজ করার সময় সূক্ষ্ম বিষয়াদি

পাইথনে শুধুমাত্র নেস্টেড ফাংশনই থাকতে পারে না, একটি ফাংশন আরেকটি ফাংশনও রিটার্ন করতে পারে। উদাহরণস্বরূপ, ধরা যাক ফাংশন 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)

কনসোলে কী প্রিন্ট হবে বলুন।

বাংলা
AfrikaansAzərbaycanБългарскиБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন