I have this problem while making my simple make_class. Here is my code:
def make_class(attrs, class_name, base=None):
def get(name):
if name in attrs:
return attrs[name]
elif base:
return base['get'](name)
def set(name, value):
attrs[name] = value
return cls
Running the program -
def make_user():
return make_class('Test', {'code': 0.202})
def make_user_class():
def init(self, owner):
self['set']('name', owner)
self['set']('number1', 0)
return make_class(Test, 'TUser', {'__init__': init, 'code': 0.03})
Test = make_user()
TAccount = make_user_class()
Test['get']('name')
I tried to set the value in the def set(name, value): function but then it says
Traceback (most recent call last): File "main.py", line 276, in Test = make_user() File "main.py", line 265, in make_user return make_class('TAccount', {'interest': 0.202}) File "main.py", line 259, in make_class cls['set']('class_name', class_name) File "main.py", line 232, in set attrs[name] = value TypeError: 'str' object does not support item assignment