Entry
Assign a value to another variable through a method
Jul 5th, 2000 10:03
Nathan Wallace, Hans Nowak, Snippet 350, Les Schaffer
"""
Packages: oop;miscellaneous
"""
"""
From: Les Schaffer <godzilla@netmeg.net>
Subject: Re: assign a value to another variable throught a method
Date sent: 30 Jan 2021 10:39:51 -0500
To: python-list@cwi.nl
>>>>> ">" == lstep <lstep@mail.dotcom.fr> writes:
>> I wanted another_name to be 'mapped' on foo or bar (not needing >>
to do a if another_name == 'foo': self.foo = value if >> another_name
== 'bar': self.bar = value etc..
"""
#========== setattr.py
#!/usr/bin/python
class a_class:
def __init(self):
self.foo = [] # <--- you forgot your self
self.bar = [] # "
def assign_it(self, another_name, value):
setattr(self,another_name, value)
def protected_assign_it(self, another_name, value):
if hasattr(self, another_name): setattr(self, another_name, value)
a = a_class()
a.assign_it('foo', "hello world")
print a.foo
a.assign_it('baz', 'farewell world')
print a.baz
a.protected_assign_it('biz', 'goodnite ophelia')
print a.biz
# example output
#==============
"""
(gustav)~/: python setattr.py
hello world
farewell world
Traceback (innermost last):
File "setattr.py", line 22, in ?
print a.biz
AttributeError: biz
"""