问题
I am wondering whether it is possible to add fields to objects dynamically. For example, I want to be able to add something like:
user = object()
user.first_name = 'John'
user.last_name = 'Smith'
When I execute that in Python command line interpretor I get:
AttributeError: 'object' object has no attribute 'first_name'
Any idea?
回答1:
Try this:
class Object:
pass
obj = Object()
obj.x = 5
回答2:
You cannot assign to attributes of object
instances like this. Derive from object
, and use an instance of that class.
来源:https://stackoverflow.com/questions/4443301/python-adding-fields-to-objects-dynamically