নিম্নলিখিত শ্রেণীর বিবেচনা করুন:
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
।