I was trying to generate a class from a dictionary:
class attr:
for key in objects_type:
setattr(attr, key, lambda cl: list())
This gives the error that attr is not defined during the for loop. I know I could write:
class attr:
pass
for key in objects_type:
setattr(attr, key, lambda cl: list())
But I am sure I remember seeing code similar to the first example somewhere. Does anyone know if it is possible to write something similar to the first form?
Although it's not very elegant, you can use locals():
>>> class c(object):
... for i in range(10):
... locals()['A' + str(i)] = i
...
>>> c.A0
0
>>> c.A7
7
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With