Tôi muốn tạo ra một đối tượng "struct" để giữ các cờ trạng thái khác nhau. Cách tiếp cận đầu tiên của tôi là này (javascript phong cách)đối tượng struct trong python
>>> status = object()
>>> status.foo = 3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'object' object has no attribute 'foo'
Chắc chắn không phải những gì tôi mong đợi, bởi vì công trình này:
>>> class Anon: pass
...
>>> b=Anon()
>>> b.foo = 4
Tôi đoán đây là vì đối tượng() không có một __dict__
. Tôi không muốn sử dụng một từ điển, và giả sử tôi không muốn tạo đối tượng Anon, có giải pháp nào khác không?
Xem http://stackoverflow.com/questions/1264833/python-class-factory-to-produce-simple-struct-like-classes –
Tôi đang sử dụng trăn 2.5, và trong mọi trường hợp, bộ tuple có tên không cho phép, theo như tôi hiểu, để tự động kết nối các thành viên mới sau này. Nó không rõ ràng từ các ví dụ được đưa ra. –
@Stefano Borini: vì vậy bạn về cơ bản yêu cầu một dict nơi bạn có thể nói 'foo.bar' thay vì' foo ['bar'] '? –