পাইথনে, ফাংশন সহ একটি মডিউল বা ফাংশন সমেত একটি শ্রেণীর মডিউলকে সংজ্ঞায়িত করা আরও ভাল বলে বিবেচনা করা হয়? [বন্ধ]


13

আমার কোডে উপরোক্ত দুটি বিকল্পগুলির মধ্যে উভয়ই সমানভাবে ভালভাবে কাজ করবে তবে আমি উভয় পদ্ধতির উপকারিতা এবং কৌশলগুলি খুঁজে পেতে আগ্রহী।

উত্তর:


9

এটি সত্যই আপনার প্রয়োজনের উপর নির্ভর করে। বেশিরভাগ সময় ফাংশনগুলির একটি মডিউল আপনি যা খুঁজছেন তা হবে।

পাইথন ক্লাসগুলি (ইমো) সি # বা সি ++ বা জাভাতে ক্লাসগুলির মতো ভাবা উচিত নয়, একটি বৃহত পিতামাতার মধ্যে একটি ফাংশন সেট করে গ্রুপ করার যৌক্তিক কারণ হওয়া দরকার, ডেটা স্ট্রাকচারগুলি এটির একটি ভাল উদাহরণ হতে পারে, আপনি চান সাধারণ কাজকর্মের আলগাভাবে সংগৃহীত ফাংশনের পরিবর্তে ক্লাসে সরাসরি প্রয়োগ করা ফাংশনগুলির একটি সংঘবদ্ধ সেট।

  • ফাংশনগুলির মডিউল: সাধারণ উদ্দেশ্য, ইউটিলিটি এবং আরও অনেক "গ্লোবাল" ফাংশন
  • কার্যকারিতার শ্রেণির মডিউল: অনুরূপ প্রয়োজনের গোষ্ঠীযুক্ত ক্লাস, বিভিন্ন লিঙ্কযুক্ত তালিকার ডেটা ধরণের বা অডিও প্রসেসিং ফাংশন বা বিভিন্ন গাছের ধরণের।

একটি মডিউল একই সিস্টেমগুলির সামগ্রিক শ্রেণিবিন্যাসের জন্য, আমার সাধারণত একটি একক মডিউলের অধীনে সমস্ত ইউটিলিটি ফাংশন থাকে, অন্যটির অধীনে সমস্ত ডেটা, আমার ডেটা স্তর এবং আরও বেশি "প্যারেন্ট" টাইপ মডিউলের অধীনে সংযোগকারী। যেহেতু মডিউলটি কেবল একটি মানসিক দলবদ্ধ তাই এটিতে কোন ধরণের সিস্টেম রয়েছে (শ্রেণি বা ফাংশন, সত্যিই সম্ভবত দু'জনের একটি মিশ্রণ) এবং মডিউলটির অধীনে সিস্টেমগুলির মধ্যে যৌক্তিক সংযোগ সম্পর্কে আরও কম।


6
পাইথন ক্লাস এবং অন্যান্য ভাষার মধ্যে পার্থক্য বুঝতে পারি না। কোন ভাষায় আপনার এমন একটি ক্লাস থাকবে যা ফাংশন সহ গ্রুপবদ্ধ হওয়ার কোনও যৌক্তিক কারণ নেই?
গাই সিরটন

7

আপনার যদি আপনার মডিউল / শ্রেণীর বিভিন্ন উদাহরণ থাকতে হয় তবে প্রাথমিক প্রশ্ন question পাইথন মডিউলটি সিঙ্গলটনের মতো - আপনি সর্বদা একই বস্তুকে উল্লেখ করেন, অর্থাত্ যদি আপনার উদাহরণের প্রয়োজন হয় তবে আপনার একটি ক্লাস প্রয়োজন।

তবে, যদি আপনার উদাহরণগুলির প্রয়োজন না হয় তবে আপনার এখনও "অবজেক্ট" একটি প্রাথমিক অবস্থায় সেট আপ করার প্রয়োজন থাকতে পারে। যদিও এটি সরল মডিউল দিয়ে স্পষ্টভাবে সম্ভব, যদি প্রাথমিকভাবে কিছু মান নির্ধারণের চেয়ে আরও জটিল হয় তবে আমি __init__পড়ার যোগ্যতার জন্য কোনও শ্রেণির পদ্ধতিতে কোডটি আরম্ভ করার পরামর্শ দেব ।


2
এটি সম্ভবত উল্লেখ করার মতো হতে পারে যে আপনি সম্ভবত এমন কিছু সম্পর্কে কথা বলছেন যা রাষ্ট্র রয়েছে, যেমন গ্লোবাল ভেরিয়েবলের সাথে একটি মডিউল বনাম সদস্য ভেরিয়েবলগুলি সহ একটি শ্রেণি। যদি আপনার বর্গ শুধুমাত্র পদ্ধতি কিন্তু কোন রাষ্ট্র আছে, সেখানে একাধিক দৃষ্টান্ত আছে সামান্য কারণ নেই
thbusch

3
@ থ্যাবশ, হ্যাঁ, এটি প্রয়োজনীয় উদাহরণগুলির মধ্যে অন্তর্ভুক্ত
কেআর 1

আপনি যখন এমন কোনও উদাহরণের প্রয়োজনের বিষয়ে কথা বলছিলেন যা আমাকে মডিউল বনাম বর্গ বুঝতে পেরেছে। আমার যদি একাধিক গাড়ি তৈরি করার প্রয়োজন ছিল তবে একটি বর্গ একটি ক্যালকুলেটর মডিউল বনাম উপযুক্ত হবে যেখানে আমার একগুচ্ছ ক্যালকুলেটর তৈরি করার দরকার নেই, আমাকে কেবল সেই মডিউল থেকে অ্যাড এবং বিয়োগ পদ্ধতিগুলি ব্যবহার করতে হবে।
তাজবয়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.