আমি এমন কিছু কোড লিখছি যা একটি ফাইল নাম নেয়, ফাইলটি খোলে এবং কিছু ডেটা পার্স করে। আমি এটি একটি ক্লাসে করতে চাই। নিম্নলিখিত কোডটি কাজ করে:
class MyClass():
def __init__(self, filename):
self.filename = filename
self.stat1 = None
self.stat2 = None
self.stat3 = None
self.stat4 = None
self.stat5 = None
def parse_file():
#do some parsing
self.stat1 = result_from_parse1
self.stat2 = result_from_parse2
self.stat3 = result_from_parse3
self.stat4 = result_from_parse4
self.stat5 = result_from_parse5
parse_file()
তবে এতে __init__
আমার ক্লাসের জন্য পার্সিং যন্ত্রপাতি সমস্ত ফাংশনের সুযোগে রেখে দেওয়া জড়িত । এই সরল parse_file
কোডটির জন্য এটি এখন দুর্দান্ত দেখায়, তবে ফাংশনটিতে বেশ কয়েকটি স্তরের রঙও রয়েছে। আমি parse_file()
নীচের মতো ক্লাস ফাংশন হিসাবে ফাংশনটি সংজ্ঞায়িত করতে পছন্দ করব :
class MyClass():
def __init__(self, filename):
self.filename = filename
self.stat1 = None
self.stat2 = None
self.stat3 = None
self.stat4 = None
self.stat5 = None
parse_file()
def parse_file():
#do some parsing
self.stat1 = result_from_parse1
self.stat2 = result_from_parse2
self.stat3 = result_from_parse3
self.stat4 = result_from_parse4
self.stat5 = result_from_parse5
অবশ্যই এই কোডটি কাজ করে না কারণ ফাংশনটি ফাংশনের parse_file()
ক্ষেত্রের মধ্যে নেই __init__
। Class শ্রেণীর মধ্যে থেকে কোনও শ্রেণি ফাংশন কল করার কোনও উপায় আছে কি __init__
? নাকি আমি এই সম্পর্কে ভুলভাবে ভাবছি?