পাইথনে ভেরিয়েবল হিসেবে ফাংশন
পাইথনে একটি ফাংশন মূলত একটি ভেরিয়েবল। এবং এর মানে হল যে এটিও পাস করা যেতে পারে।
ধরুন আমাদের একটি ফাংশন আছে যা একটি বিস্ময়বোধক চিহ্ন প্রদান করে:
def func():
return '!'
আসুন বন্ধনী ছাড়াই ফাংশনের নামটি
একটি ভেরিয়েবল হিসেবে print-এ পাস করি:
print(func)
কোড এক্সিকিউট হওয়ার পরে, কনসোলে এই ফাংশন সম্পর্কিত তথ্য বহনকারী একটি বিশেষ অবজেক্ট প্রিন্ট হবে:
<function func at 0x0000022816383E20>
এখন চলুন একটি func2 ভেরিয়েবল ডিক্লেয়ার করি,
যার মানে আমরা func1 ফাংশনটি পাস করব।
ফাংশন本身টি ভ্যালু দ্বারা নয়,
বরং একটি অবজেক্ট হিসেবে রেফারেন্স দ্বারা পাস হবে। এবং
বন্ধনী সহ func2 কল করলে
কনসোলে func1-এর কাজের ফলাফল প্রিন্ট হবে:
def func1():
print('!')
func2 = func1
func2() # প্রিন্ট করবে '!'
নিম্নলিখিত কোড এক্সিকিউট করার ফলাফল কী হবে:
def func():
print('hello, user!')
greet = func
print(greet)
নিম্নলিখিত কোড এক্সিকিউট করার ফলাফল কী হবে:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))