আমি আমার কিছু শ্রেণি গেটার্স এবং সেটটারগুলির বিস্তৃত ব্যবহার থেকে সম্পত্তিগুলির আরও পাইথোনিক ব্যবহারে পরিবর্তন করছি।
তবে এখন আমি আটকে আছি কারণ আমার পূর্ববর্তী কিছু গেটার বা সেটটার বেস ক্লাসের সাথে সম্পর্কিত পদ্ধতিটি কল করে এবং পরে অন্য কিছু সম্পাদন করে। তবে কীভাবে সম্পত্তি সহ এটি সম্পন্ন করা যায়? প্যারেন্ট ক্লাসে সম্পত্তি গেটর বা সেটটারকে কীভাবে কল করবেন?
অবশ্যই কেবল অ্যাট্রিবিউটকে কল করা অসীম পুনরাবৃত্তি দেয়।
class Foo(object):
@property
def bar(self):
return 5
@bar.setter
def bar(self, a):
print a
class FooBar(Foo):
@property
def bar(self):
# return the same value
# as in the base class
return self.bar # --> recursion!
@bar.setter
def bar(self, c):
# perform the same action
# as in the base class
self.bar = c # --> recursion!
# then do something else
print 'something else'
fb = FooBar()
fb.bar = 7
Foo.bar.fset(self, c)
উত্তরাধিকার সূত্রে আমাকে কেন ফোন করা উচিত ? কেন নাFoo.bar.fset(c)
- "স্ব" ব্যতীত - আমি ভেবেছিলাম এটি নিখুঁতভাবে পাস হয়েছে?