Tôi muốn tạo một đối tượng động (bên trong một đối tượng khác) trong Python và sau đó thêm các thuộc tính cho nó.
Tôi đã thử:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
nhưng điều này đã không làm việc.
Có ý kiến gì không?
biên tập:
Tôi đang thiết lập các thuộc tính từ một forvòng lặp lặp qua danh sách các giá trị, vd
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
Trong ví dụ trên, chúng tôi sẽ nhận được obj.a.attr1, obj.a.attr2, obj.a.attr3.
Tôi đã sử dụng setattrhàm vì tôi không biết cách thực hiện obj.a.NAMEtừ một forvòng lặp.
Làm cách nào để đặt thuộc tính dựa trên giá trị ptrong ví dụ trên?
a = object()và bạn cần obj.a = object(). Một lần nữa tôi đang nói về ví dụ, trong mã thực tế của bạn, một đối tượng bên trong một đối tượng có thể hữu ích.