উত্তর:
setattr(x, attr, 'magic')
এটিতে সহায়তার জন্য:
>>> help(setattr)
Help on built-in function setattr in module __builtin__:
setattr(...)
setattr(object, name, value)
Set a named attribute on an object; setattr(x, 'y', v) is equivalent to
``x.y = v''.
সম্পাদনা করুন: তবে, আপনার নোট করা উচিত (একটি মন্তব্যে উল্লিখিত হিসাবে) যে আপনি এটি "খাঁটি" উদাহরণে করতে পারবেন না object। তবে সম্ভবত আপনার কাছে অবজেক্টের একটি সহজ সাবক্লাস রয়েছে যেখানে এটি দুর্দান্ত কাজ করবে। আমি ওপিকে দৃ strongly়ভাবে অনুরোধ করব যেন কখনও এর মতো বস্তুর নজির না ঘটে।
dirtyব্যবহারকারীর
__slots__গুণটি দিয়ে নিজের ক্লাসে এটি করতে পারেন ।
intপাশাপাশি কাজ করে না । কেন আপনি ব্যাখ্যা করতে পারেন? (এটা কি সব __builtin__?
সাধারণত, আমরা এর জন্য ক্লাস সংজ্ঞায়িত করি।
class XClass( object ):
def __init__( self ):
self.myAttr= None
x= XClass()
x.myAttr= 'magic'
x.myAttr
যাইহোক, যদি আপনি, কিছুদূর, এই দিয়ে কি করতে পারেন setattrএবং getattrফাংশন বিল্ট-ইন। তবে তারা objectসরাসরি উদাহরণগুলিতে কাজ করে না ।
>>> a= object()
>>> setattr( a, 'hi', 'mom' )
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'object' object has no attribute 'hi'
তারা অবশ্য সব ধরণের সাধারণ ক্লাসে কাজ করে।
class YClass( object ):
pass
y= YClass()
setattr( y, 'myAttr', 'magic' )
y.myAttr
এক্সকে একটি বস্তু হতে দিন তবে আপনি এটি দুটি উপায়ে করতে পারেন
x.attr_name = s
setattr(x, 'attr_name', s)