lớp tôi có một lớp học như sau:Python: Truy cập tài sản từ chuỗi
class User:
def __init__(self):
self.data = []
self.other_data = []
def doSomething(self, source):
// if source = 'other_data' how to access self.other_data
Tôi muốn vượt qua một chuỗi cho biến nguồn trong doSomething
và truy cập các thành viên lớp cùng tên.
Tôi đã thử getattr
chỉ hoạt động trên các chức năng (từ những gì tôi có thể biết) cũng như có User
mở rộng dict
và sử dụng self.__getitem__
, nhưng điều đó không hoạt động. Cách tốt nhất để làm việc này là gì?
(nhận ra đây là một chủ đề cũ). Tôi đã bối rối/luôn luôn quên điều này vì các dicts. Nếu tôi muốn nhận được một giá trị từ một dict, tôi có thể nói: myDict.get ('keyy'), vì vậy tôi mong đợi các thuộc tính hoạt động theo cùng một cách: myObject.getattr ('attr_name'). Nhưng thay vào đó họ lấy đối tượng làm đối số đầu tiên ... ok để làm, nhưng sự mâu thuẫn rõ ràng là lý do tại sao tôi gặp rắc rối. –