কম্পিউটার

pprint মডিউল (ডেটা সুন্দর প্রিন্টার)


pprint মডিউল (lib/pprint.py) পাইথনের স্ট্যান্ডার্ড লাইব্রেরির একটি অংশ যা স্ট্যান্ডার্ড পাইথন ডিস্ট্রিবিউশনের সাথে বিতরণ করা হয়। pprint নামের অর্থ হল প্রিটি প্রিন্টার। pprint মডিউলের কার্যকারিতা পাইথন ডেটা স্ট্রাকচারের নান্দনিকভাবে সুন্দর চেহারা দেখাতে সক্ষম করে। পাইথন ইন্টারপ্রেটার দ্বারা সঠিকভাবে পার্স করা যেকোন ডেটা স্ট্রাকচার সুন্দরভাবে ফরম্যাট করা হয়। বিন্যাসিত অভিব্যক্তিটি যতদূর সম্ভব এক লাইনে রাখা হয়, তবে দৈর্ঘ্য বিন্যাসের প্রস্থের প্যারামিটারের বেশি হলে একাধিক লাইনে বিভক্ত হয়। প্রিন্ট আউটপুটের একটি অনন্য বৈশিষ্ট্য হল যে ডিসপ্লে উপস্থাপনা ফরম্যাট হওয়ার আগে অভিধানগুলি স্বয়ংক্রিয়ভাবে সাজানো হয়৷

pprint মডিউল PrettyPrinter ক্লাসের সংজ্ঞা ধারণ করে। এর কনস্ট্রাক্টর নিম্নলিখিত বিন্যাস নেয় -

pprint.PrettyPrinter(ইন্ডেন্ট, প্রস্থ, গভীরতা, স্ট্রিম, কমপ্যাক্ট)

ইন্ডেন্ট প্যারামিটার প্রতিটি পুনরাবৃত্ত স্তরে যোগ করা ইন্ডেন্টেশনকে সংজ্ঞায়িত করে। ডিফল্ট হল 1.

ডিফল্টরূপে প্রস্থ প্যারামিটার হল 80। এই মান দ্বারা কাঙ্ক্ষিত আউটপুট সীমাবদ্ধ। দৈর্ঘ্য প্রস্থের চেয়ে বেশি হলে, এটি একাধিক লাইনে ভাঙ্গা হয়৷

গভীরতার প্যারামিটার প্রিন্ট করার জন্য স্তরের সংখ্যা নিয়ন্ত্রণ করে।

স্ট্রিম প্যারামিটারটি ডিফল্টভাবে std.out – ডিফল্ট আউটপুট ডিভাইস। এটি ফাইলের মতো যেকোনো স্ট্রিম অবজেক্ট নিতে পারে।

কমপ্যাক্ট প্যারামিটার আইডি ডিফল্টরূপে False এ সেট করা হয়েছে। সত্য হলে, শুধুমাত্র প্রস্থের মধ্যে সামঞ্জস্যযোগ্য ডেটা প্রদর্শিত হবে৷

PrettyPrinter ক্লাস নিম্নলিখিত পদ্ধতিগুলি সংজ্ঞায়িত করে −

প্রিন্ট() − PrettyPrinter অবজেক্টের বিন্যাসিত উপস্থাপনা প্রিন্ট করে

pformat() − কনস্ট্রাক্টরের কাছে প্যারামিটারের উপর ভিত্তি করে অবজেক্টের ফর্ম্যাট করা উপস্থাপনা ফেরত দেয়।

নিম্নলিখিত উদাহরণ প্রিটিপ্রিন্টার ক্লাসের সহজ ব্যবহার প্রদর্শন করে।

 pprintstudents ={"দিলিপ":["ইংরেজি", "গণিত", "বিজ্ঞান"], "রাজু":{"ইংরেজি":50,"গণিত":60, "বিজ্ঞান":70}, " কল্পনা":(50,60,70)}pp =pprint.PrettyPrinter()print ("সাধারণ প্রিন্ট আউটপুট")মুদ্রণ (ছাত্রদের)মুদ্রণ ("---")প্রিন্ট ("প্রিন্ট আউটপুট")pp.pprint( ছাত্র)

আউটপুট স্বাভাবিকের পাশাপাশি সুন্দর প্রিন্ট ডিসপ্লে দেখায়।

সাধারণ প্রিন্ট আউটপুট{'দিলিপ':['ইংরেজি', 'গণিত', 'বিজ্ঞান'], 'রাজু':{'ইংরেজি':50, 'গণিত':60, 'বিজ্ঞান':70}, ' কল্পনা':(50, 60, 70)}----প্রিন্ট আউটপুট{'দিলিপ':['ইংরেজি', 'গণিত', 'বিজ্ঞান'], 'কল্পনা':(50, 60, 70), 'রাজু ':{'ইংরেজি':50, 'গণিত':60, 'বিজ্ঞান':70} }

pprint মডিউল প্রিটিপ্রিন্টার পদ্ধতির সাথে সম্পর্কিত সুবিধার ফাংশন pprint() এবং pformat() সংজ্ঞায়িত করে। নিচের উদাহরণটি pprint() ফাংশন ব্যবহার করে।

 pprint import pprintstudents থেকে ={"Dilip":["English", "Maths", "Science"],"Raju":{"English":50,"Maths":60, "Science":70} "কল্পনা":(50,60,70)}মুদ্রণ ("স্বাভাবিক প্রিন্ট আউটপুট")প্রিন্ট (ছাত্রদের)মুদ্রণ ("---")প্রিন্ট ("প্রিন্ট আউটপুট")প্রিন্ট (ছাত্র)

পরবর্তী উদাহরণ pformat() পদ্ধতির পাশাপাশি pformat() ফাংশন ব্যবহার করে। pformat() পদ্ধতি ব্যবহার করতে, PrettyPrinter অবজেক্ট প্রথমে সেট আপ করা হয়। উভয় ক্ষেত্রেই, বিন্যাসিত উপস্থাপনা স্বাভাবিক প্রিন্ট() ফাংশন ব্যবহার করে প্রদর্শিত হয়।

 pprintstudents ={"দিলিপ":["ইংরেজি", "গণিত", "বিজ্ঞান"],"রাজু":{"ইংরেজি":50,"গণিত":60, "বিজ্ঞান":70}," কল্পনা":(50,60,70)}মুদ্রণ ("pformat পদ্ধতি ব্যবহার করে")pp =pprint.PrettyPrinter()string =pp.pformat(ছাত্র)মুদ্রণ (স্ট্রিং)মুদ্রণ ('------')প্রিন্ট ("ব্যবহারের pformat ফাংশন")string =pprint.pformat(students)print (string)

এখানে উপরের কোডের আউটপুট

pformat পদ্ধতি ব্যবহার করে ':60, 'সায়েন্স':70}}------ pformat ফাংশন ব্যবহার করে{'Dilip':['English', 'Maths', 'Science'], 'Calpana':(50, 60, 70) , 'রাজু':{'ইংরেজি':50, 'গণিত':60, 'বিজ্ঞান':70} }

সুন্দর প্রিন্টারও কাস্টম ক্লাসের সাথে ব্যবহার করা যেতে পারে। ক্লাসের ভিতরে __repr__() পদ্ধতিটি ওভাররাইড করা হয়েছে। __repr__() পদ্ধতিকে বলা হয় যখন repr() ফাংশন ব্যবহার করা হয়। এটি পাইথন অবজেক্টের অফিসিয়াল স্ট্রিং উপস্থাপনা। যখন আমরা প্রিন্ট() ফাংশনের জন্য বস্তুকে প্যারামিটার হিসাবে ব্যবহার করি তখন এটি repr() ফাংশনের রিটার্ন মান প্রিন্ট করে।

নিম্নলিখিত উদাহরণে, __repr__() পদ্ধতি প্লেয়ার অবজেক্টের স্ট্রিং উপস্থাপনা প্রদান করে

 pprintclass player:def __init__(self, name, formats =[], run =[]):self.name =nameself.formats =formatsself.runs =rundef __repr__(self):dct ={}dct[self .name] =dict(zip(self.formats,self.runs))রিটার্ন (repr(dct))l1 =['Tests','ODI','T20']l2 =[[140, 45, 39], [15,122,36,67, 100, 49],[78,44, 12, 0, 23, 75]]p1 =খেলোয়াড়("বিরাট",l1,l2)pp =pprint.PrettyPrinter()pp.pprint(p1 )

উপরের কোডের আউটপুট হল −

{'বিরাট':{'টেস্ট':[140, 45, 39], 'ODI':[15, 122, 36, 67, 100, 49], 'T20':[78, 44, 12, 0, 23, 75]}}

প্রিন্ট সহ পুনরাবৃত্ত ডেটা কাঠামো

যখন আমরা pprint সহ একটি পুনরাবৃত্ত বস্তু মুদ্রণ করার চেষ্টা করি, শুধুমাত্র প্রথম উপস্থাপনা প্রদর্শিত হয় এবং পরবর্তী পুনরাবৃত্তির জন্য শুধুমাত্র তার রেফারেন্স প্রিন্ট করা হয়।

>>> pprint আমদানি করুন>>> সংখ্যা =তালিকা(পরিসীমা(1,6))>>> সংখ্যা।অ্যাপেন্ড(সংখ্যা)>>> মুদ্রণ (সংখ্যা)[1, 2, 3, 4, 5, [ ...]]>>> pprint.pprint(সংখ্যা)[1, 2, 3, 4, 5, <আইডি=1403633698824 সহ তালিকায় পুনরাবৃত্তি>]

আউটপুট প্রস্থ সীমাবদ্ধ করা

যদি প্রস্থের প্যারামিটারটি ডিফল্ট 80 থেকে অন্য মানতে পরিবর্তিত হয়, তাহলে আউটপুটটি এমনভাবে ফর্ম্যাট করা হয় যাতে একাধিক লাইন প্রদর্শিত হয় যখন সিনট্যাক্স লঙ্ঘন না করার যত্ন নেওয়া হয়।

 pprintstudents ={"দিলিপ":["ইংরেজি", "গণিত", "বিজ্ঞান"],"রাজু":{"ইংরেজি":50,"গণিত":60, "বিজ্ঞান":70}," কল্পনা":(50,60,70)}pp=pprint.PrettyPrinter(width =20)pp.pprint(ছাত্রদের)

কোড এই নিবন্ধে প্রথম উদাহরণ অনুরূপ. যাইহোক, PrettyPrinter অবজেক্টটি 20 হিসাবে প্রস্থ প্যারামিটার দিয়ে তৈরি করা হয়েছে। তাই pprint আউটপুট সেই অনুযায়ী ফর্ম্যাট করা হয়েছে।

{'দিলিপ':[ 'ইংরেজি', 'গণিত', 'বিজ্ঞান'], 'কল্পনা':(50, 60, 70), 'রাজু':{'ইংরেজি':50, 'গণিত':60 , 'Science':70}}

  1. সাইক্লিক রিডানডেন্সি চেক করতে পাইথন প্রোগ্রাম

  2. পাইথনে কীভাবে একটি JSON ফাইল প্রিন্ট করবেন

  3. HP প্রিন্টারে প্রিন্ট করার জন্য আলেক্সা কিভাবে পাবেন

  4. ভাই প্রিন্টার প্রিন্ট করতে অক্ষম সমস্যা