অপরিবর্তনীয় ধরণ কী তা নিয়ে আমি বিভ্রান্ত। আমি জানি যে float
বিষয়টি আমার বইয়ের এই ধরণের উদাহরণ সহ অপরিবর্তনীয় বলে মনে করা হচ্ছে:
class RoundFloat(float):
def __new__(cls, val):
return float.__new__(cls, round(val, 2))
এটি কি শ্রেণি কাঠামো / শ্রেণিবিন্যাসের কারণে অপরিবর্তনীয় হিসাবে বিবেচিত ?, অর্থ float
বর্গের শীর্ষে এবং এটি নিজস্ব পদ্ধতি কল। এই ধরণের উদাহরণের অনুরূপ (যদিও আমার বইটি বলে dict
যে পরিবর্তনীয়)
class SortedKeyDict(dict):
def __new__(cls, val):
return dict.__new__(cls, val.clear())
শ্রেণীর অভ্যন্তরে পরিবর্তিত কিছু কিছুর জন্য এই ধরণের উদাহরণ রয়েছে:
class SortedKeyDict_a(dict):
def example(self):
return self.keys()
এছাড়াও, শেষের জন্য class(SortedKeyDict_a)
, যদি আমি এই ধরণের সেটটি পাস করি:
d = (('zheng-cai', 67), ('hui-jun', 68),('xin-yi', 2))
example
পদ্ধতিটি কল না করে এটি একটি অভিধান প্রদান করে। SortedKeyDict
সঙ্গে __new__
একটি ত্রুটি যেমন পতাকা এটা। আমি RoundFloat
ক্লাসে পূর্ণসংখ্যার সাথে পাস করার চেষ্টা করেছি __new__
এবং এটি কোনও ত্রুটি চিহ্নিত করেছে।