কম্পিউটার

পাইথন ক্লাস ব্রাউজার সমর্থন


pyclbr Python লাইব্রেরির মডিউল একটি Python মডিউলে সংজ্ঞায়িত ফাংশন, ক্লাস এবং পদ্ধতি সম্পর্কে তথ্য বের করে। তথ্য মডিউল আমদানির পরিবর্তে পাইথন সোর্স কোড থেকে বের করা হয়।

এই মডিউলটি readmodule() সংজ্ঞায়িত করে ফাংশন যা একটি অভিধান ম্যাপিং মডিউল-স্তরের ক্লাসের নাম ক্লাস বর্ণনাকারীদের কাছে ফেরত দেয়। ফাংশনটি প্যারামিটার হিসাবে একটি মডিউল নাম নেয়। এটি একটি প্যাকেজের মধ্যে একটি মডিউলের নাম হতে পারে। সেক্ষেত্রে পাথ হল sys.path-তে আগে থেকে লেখা ডিরেক্টরি পাথের একটি ক্রম, যা মডিউল সোর্স কোড সনাক্ত করতে ব্যবহৃত হয়।

নিম্নলিখিত কোডটি পাইথন লাইব্রেরির সকেট মডিউলে ক্লাস এবং পদ্ধতি পার্স করতে readmodule() ফাংশন ব্যবহার করে৷

ইমপোর্ট করুন pyclbrmod =pyclbr.readmodule("সকেট")def show(c):s ="class " + c.name print (s + ":") পদ্ধতি =c.methods.items() পদ্ধতির জন্য, lineno পদ্ধতিতে:প্রিন্ট (" def " + পদ্ধতি) print() k-এর জন্য, v mod.items():show(v)
 বর্গ IntEnum:শ্রেণি IntFlag:Def _missing_ Def _create_pseudo_member_ Def __or__ Def __and__ Def __xor__ Def __invert__class _GiveupOnSendfile:শ্রেণি সকেট:Def __init__ Def __enter__ Def __exit__ Def __repr__ Def __getstate__ Def DUP Def গ্রহণ Def Makefile Def _sendfile_use_sendfile Def _sendfile_use_send Def _check_sendfile_params Def sendfile def _decref_socketios def _real_close def বন্ধ def detach def পরিবার def প্রকার def get_inheritable def set_inheritableclass SocketIO:def __init__ def readinto def লিখুন def পঠনযোগ্য def লিখনযোগ্য def অনুসন্ধানযোগ্য def ফাইলনো def নাম def def মোড বন্ধ করুন 

pyclbr মডিউল readmodule_ex()-কেও সংজ্ঞায়িত করে ফাংশন যা মডিউলে সংজ্ঞায়িত প্রতিটি ফাংশন এবং ক্লাসের জন্য একটি ফাংশন বা ক্লাস বর্ণনাকারী সমন্বিত একটি অভিধান প্রদান করে। প্রত্যাবর্তিত অভিধানটি তাদের বর্ণনাকারীদের কাছে মডিউল-স্তরের ফাংশন এবং শ্রেণির নামগুলি ম্যাপ করে। নেস্টেড বস্তুগুলি তাদের পিতামাতার শিশুদের অভিধানে প্রবেশ করানো হয়৷

>>> x =pyclbr.readmodule_ex('socket')>>> k,v-এর জন্য x.items():প্রিন্ট (k,v)IntEnum IntFlag  _intenum_converter  _GiveupOnSendfile  সকেট  fromfd  fromshare  socketpair  Socketio  x000002095D834518> 0x000002095D834518 এটেডড্রিনফো  

এই ফাংশনগুলি কাস্টম মডিউলের পাশাপাশি ব্যবহারকারীর সংজ্ঞায়িত ক্লাস এবং পদ্ধতিগুলির ডিরেক্টরি আনতে ব্যবহার করা যেতে পারে৷

নিম্নলিখিত উদাহরণে একটি মডিউল 'triangles.py' ব্যবহার করা হয় এর শ্রেণী গঠন পেতে।

#triangles.pyimport ম্যাথক্লাস ত্রিভুজ:def __init__(self, a, b, c):self.a =a self.b =b self.c =c def এলাকা(self):s=(self.a+ self.b+self.c)/2 area=math.sqrt(s*(s-self.a)*(s-self.b)*(s-self.c)) রিটার্ন areaclass EquiTriangle(ত্রিভুজ):def __init__(self, a):b =a c =a super().__init__(a,b,c) def এলাকা(self):area=math.sqrt(3)* pow(self.a,2)/4 রিটার্ন এলাকা

আমরা এখন 'ত্রিভুজ' মডিউলে ক্লাস এবং পদ্ধতিগুলি পাব।

>>> br =pyclbr.readmodule_ex('triangles')>>> br.items(এ i,j এর জন্য):প্রিন্ট (i,j.methods)ত্রিভুজ {'__init__':3, 'ক্ষেত্র':7}EquiTrangle {'__init__':12, 'ক্ষেত্র':16}

pyclbr মডিউল দুটি অবজেক্টকে সংজ্ঞায়িত করে - ক্লাস অবজেক্ট এবং ফাংশন অবজেক্ট।

ফাংশন অবজেক্টের নিম্নলিখিত বৈশিষ্ট্য রয়েছে

ফাইল
ফাইলের নাম যেখানে ফাংশনটি সংজ্ঞায়িত করা হয়েছে৷
মডিউল৷
ফাংশন বর্ণনা করা মডিউলের নাম।
নাম৷
ফাংশনের নাম।
লাইননো
ফাইলের লাইন নম্বর যেখানে সংজ্ঞা শুরু হয়৷
অভিভাবক৷
শীর্ষ-স্তরের ফাংশনের জন্য, কোনোটিই নয়। নেস্টেড ফাংশনের জন্য, অভিভাবক।
শিশু
ফরেস্টেড ফাংশন এবং ক্লাস বর্ণনাকারীদের জন্য একটি অভিধান ম্যাপিং নাম৷

ক্লাস অবজেক্টের উপরে

ছাড়াও আরও দুটি বৈশিষ্ট্য রয়েছে
সুপার
ক্লাস অবজেক্টের একটি তালিকা যা বর্ণনা করা ক্লাসের তাৎক্ষণিক বেস ক্লাসগুলিকে বর্ণনা করে৷
পদ্ধতি
একটি অভিধান ম্যাপিং পদ্ধতি লাইন সংখ্যার নাম।

  1. পাইথনে উত্তরাধিকার

  2. পাইথনে ক্লাস পদ্ধতি বনাম স্ট্যাটিক পদ্ধতি

  3. পাইথনে প্রথম শ্রেণীর ফাংশন

  4. পাইথন ব্যতিক্রম বেস ক্লাস