On Tue, Oct 12, 2021 at 9:03 AM Paulo da Silva <p_d_a_s_i_l_v_a...@nonetnoaddress.pt> wrote: > > Hello! > > Is there a better way of doing this? > Why didn't setattr (as commented) work? > > Thanks for an help/comments. > > class C: > def f(self,v): > #setattr(self,n,v) > self.__dict__['n']=v > > c=C() > c.f(3) > print(c.n) >
Because setattr needs a string, just like the assignment to the dictionary does. Try: setattr(self, "n", v) Or, since it's a constant: self.n = v ChrisA -- https://mail.python.org/mailman/listinfo/python-list