ধরুন আমার কাছে কনস্ট্রাক্টর (বা অন্যান্য ফাংশন) সহ একটি ক্লাস রয়েছে যা একটি পরিবর্তনশীল সংখ্যক আর্গুমেন্ট গ্রহণ করে এবং তারপরে শর্ত অনুসারে শ্রেণীর বৈশিষ্ট্য হিসাবে সেট করে।
আমি সেগুলি ম্যানুয়ালি সেট করতে পারলাম, তবে মনে হচ্ছে ভেরিয়েবল প্যারামিটারগুলি অজগরের পক্ষে যথেষ্ট সাধারণ যে এটি করার জন্য একটি সাধারণ অভিবাদন থাকা উচিত। তবে কীভাবে এটি গতিশীলভাবে করা যায় তা আমি নিশ্চিত নই।
আমার কাছে উদাহরণ ব্যবহার করে ইওল ব্যবহার করা হয়েছে তবে এটি নিরাপদ নয়। আমি এটি করার সঠিক উপায়টি জানতে চাই - সম্ভবত ল্যাম্বডা দিয়ে?
class Foo:
def setAllManually(self, a=None, b=None, c=None):
if a!=None:
self.a = a
if b!=None:
self.b = b
if c!=None:
self.c = c
def setAllWithEval(self, **kwargs):
for key in **kwargs:
if kwargs[param] != None
eval("self." + key + "=" + kwargs[param])
pip install attrs, আপনার শ্রেণিটি দিয়ে সজ্জিত করুন @attr.sএবং আরগগুলি সেট করুন a = attr.ib(); b = attr.ib()ইত্যাদি আরও এখানে পড়ুন ।