এই মডিউলের ফাংশনগুলি মডিউল, ক্লাস, পদ্ধতি, ফাংশন, কোড অবজেক্ট ইত্যাদির মতো লাইভ অবজেক্ট সম্পর্কে দরকারী তথ্য প্রদান করে। এই ফাংশনগুলি টাইপ চেকিং, সোর্স কোড পুনরুদ্ধার, ক্লাস এবং ফাংশন পরিদর্শন করে এবং ইন্টারপ্রেটার স্ট্যাক পরীক্ষা করে।
getmembers()− এই ফাংশনটি একটি অবজেক্টের সমস্ত সদস্যকে নামের তালিকায়, নাম অনুসারে সাজানো মান জোড়া প্রদান করে। যদি ঐচ্ছিক ভবিষ্যদ্বাণী সরবরাহ করা হয়, কেবলমাত্র সেই সদস্যদের অন্তর্ভুক্ত করা হয় যাদের জন্য প্রিডিকেট একটি সত্য মান প্রদান করে। getmodulename() −এই ফাংশনটি ফাইল পাথ দ্বারা নাম দেওয়া মডিউলের নাম প্রদান করে, প্যাকেজের নাম অন্তর্ভুক্ত না করেই
পরিদর্শন মডিউলের আচরণ বোঝার জন্য আমরা নিম্নলিখিত স্ক্রিপ্ট ব্যবহার করব।
#inspect-example.py''''এটি মডিউল ডকস্ট্রিং''''ডিফ হ্যালো():'''হ্যালো ডকস্ট্রিং''' প্রিন্ট ('হ্যালো ওয়ার্ল্ড') রিটার্ন#ক্লাস ডেফিনিশন ক্লাস প্যারেন্ট:'''প্যারেন্ট ডকস্ট্রিং ''' def __init__(self):self.var='hello' def hello(self):print (self.var) class child(parent):def hello(self):'''hello function overridden''' super ().hello() প্রিন্ট ("কেমন আছেন?")
'__'
দিয়ে শুরু হয় inspect.getmembers(inspect_example):যদি k.startswith('__')==False:print (k,v)childhelloparent>>>পূর্বে>ভবিষ্যদ্বাণী
Predicate হল একটি যৌক্তিক শর্ত যা পরিদর্শন মডিউলের ফাংশনে প্রয়োগ করা হয়। উদাহরণস্বরূপ getmembers() ফাংশন মডিউলের সদস্যদের তালিকা প্রদান করে যার জন্য প্রদত্ত পূর্বাভাস শর্ত সত্য। নিম্নোক্ত পূর্বাভাসগুলি পরিদর্শন মডিউলে সংজ্ঞায়িত করা হয়েছে
ismodule() | অবজেক্টটি একটি মডিউল হলে সত্য প্রত্যাবর্তন করুন। |
isclass() | অবজেক্টটি একটি ক্লাস হলে সত্যে ফিরে যান, বিল্ট-ইন হোক বা পাইথন কোডে তৈরি হোক। |
ইসমেথড() | যদি বস্তুটি পাইথনে লেখা একটি আবদ্ধ পদ্ধতি হয় তাহলে সত্যে ফিরে আসুন। |
ইসফাংশন() | অবজেক্টটি পাইথন ফাংশন হলে সত্যে ফিরে যান, যার মধ্যে একটি ল্যাম্বডা এক্সপ্রেশন দ্বারা তৈরি ফাংশন অন্তর্ভুক্ত থাকে। |
isgenerator() | অবজেক্টটি একটি জেনারেটর হলে সত্যে ফিরে যান। |
iscode() | অবজেক্টটি একটি কোড হলে সত্যে ফিরে যান। |
ইজবিল্টিন() | অবজেক্টটি একটি অন্তর্নির্মিত ফাংশন বা একটি আবদ্ধ বিল্ট-ইন পদ্ধতি হলে সত্যে ফিরে আসুন। |
বিমূর্ত() | অবজেক্টটি একটি বিমূর্ত বেস ক্লাস হলে সত্যে ফিরে আসুন। |
এখানে শুধুমাত্র মডিউলের ক্লাস সদস্যদের ফেরত দেওয়া হবে।
inspect.getmembers(inspect_example, inspect.isclass) এ k,v-এর জন্য>>>:প্রিন্ট (k,v)childঅভিভাবক >>>প্রে> একটি নির্দিষ্ট শ্রেণীর 'শিশু'-
এর সদস্যদের পুনরুদ্ধার করতে>>> inspect.getmembers(inspect_example.child)>>> x=inspect_example.child()>>> inspect.getmembers(x)getdoc() ফাংশন একটি মডিউল, ক্লাস বা ফাংশনের ডকস্ট্রিং পুনরুদ্ধার করে।
>>> inspect.getdoc(inspect_example)'This is module docstring'>>> inspect.getdoc(inspect_example.parent)'parent docstring'>>> inspect.getdoc(inspect_example.hello)'হ্যালো ডকস্ট্রিং'পূর্বে>getsource() ফাংশন একটি ফাংশনের সংজ্ঞা কোড −
নিয়ে আসে>>> প্রিন্ট (inspect.getsource(inspect_example.hello))def hello():'''hello docstring''' প্রিন্ট ('হ্যালো ওয়ার্ল্ড') রিটার্ন>>> sign=inspect.signature(inspect_example.parent) .হ্যালো)>>> প্রিন্ট (সাইন)পরিদর্শন মডিউলটিতে একটি কমান্ড লাইন ইন্টারফেসও রয়েছে৷
C:\Users\acer>python -m inspect -d inspect_exampleTarget:inspect_exampleOrigin:C:\python36\inspect_example.pyCached:C:\python36\__pycache__\inspect_example.cpython-36.python-36.python-36.pycal200port_080000 port_example000নিম্নোক্ত কমান্ডটি মডিউলে 'Hello()' ফাংশনের সোর্স কোড প্রদান করে।
C:\Users\acer>python -m inspect inspect_example:hellodef hello():'''hello docstring''' প্রিন্ট ('Hello world') রিটার্ন