পাইথনে getattr() ফাংশন ব্যবহার করে স্ট্রিং আকারে ফাংশন নাম দিয়ে মডিউল, ক্লাস বা অবজেক্ট থেকে ফাংশন/মেথড ডাইনামিক্যালি কল করা যায়।
সিনট্যাক্স
import module_name func = getattr(module_name, 'function_name') result = func()
উদাহরণ
import fibo result = getattr(fibo, 'baz') print(result)
ব্যাখ্যা
getattr(obj, name)—objঅবজেক্ট থেকেnameনামক অ্যাট্রিবিউট (ফাংশন, মেথড, ভেরিয়েবল) রিটার্ন করে।- এটি মডিউল-লেভেল ফাংশন, ক্লাস মেথড, ইনস্ট্যান্স মেথড — সব জায়গায় কাজ করে।
- যদি অ্যাট্রিবিউট না পাওয়া যায়, তবে
AttributeErrorরেইজ হয় (ঐচ্ছিক থার্ড আর্গামেন্ট দিয়ে ডিফল্ট মান দেওয়া যায়)।
ব্যবহার ক্ষেত্র
প্লাগিন সিস্টেম, কনফিগারেশন-ভিত্তিক ফাংশন কল, RPC, ডাইনামিক ডিসপ্যাচ ইত্যাদিতে এটি খুব কাজে আসে।