নিম্নলিখিত শ্রেণীর বিবেচনা করুন:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
আমার সহকর্মীরা এটির মতো এটি সংজ্ঞায়িত করতে থাকে:
class Person:
name = None
age = None
def __init__(self, name, age):
self.name = name
self.age = age
এর মূল কারণ হ'ল তাদের পছন্দের সম্পাদকটি স্বতঃপূরণের জন্য বৈশিষ্ট্যগুলি দেখায়।
ব্যক্তিগতভাবে, আমি দ্বিতীয়টিরটিকে অপছন্দ করি, কারণ এটি কোনও বোধগম্য নয় যে কোনও শ্রেণীর কাছে সেই বৈশিষ্ট্যগুলি সেট করা আছে None।
কোনটি আরও ভাল অনুশীলন হবে এবং কী কারণে?
__init__ইতিমধ্যে স্বতঃপূরণ ইত্যাদি সরবরাহ করে ইত্যাদি Noneবৈশিষ্ট্যগুলির জন্য আইডিই ব্যবহার করে আরও ভাল ধরণের আবিষ্কার করতে বাধা দেয়, সুতরাং পরিবর্তে বুদ্ধিমান ডিফল্ট ব্যবহার করা ভাল when সম্ভব).
typingমডিউল রয়েছে, যা আপনাকে আইডিই এবং লিন্টারে ইঙ্গিত সরবরাহ করতে দেয়, যদি এই ধরণের জিনিসটি আপনার অভিনব কল্পনা করে ...
self। এমনকি যদি self.nameবা self.ageনির্ধারিত করা হয় নি __init__তারা উদাহরণস্বরূপ দেখা করবে না selfতারা কেবল ক্লাসে দেখা Person।