উত্তর:
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)