getattr() - Lấy giá trị attribute
Syntax: getattr(object, name[, default])
- Trả về giá trị attribute
namecủaobject - Nếu không tìm thấy: trả về
default(nếu cung cấp) hoặc raiseAttributeError
setattr() - Gán giá trị attribute
Syntax: setattr(object, name, value)
- Set attribute
namecủaobject=value - Trả về
None
Ví dụ
class Person:
name = "John"
p = Person()
print(getattr(p, 'name')) # John
print(getattr(p, 'age', 25)) # 25 (default, vì không có age)
setattr(p, 'name', 'Jane')
print(p.name) # Jane
setattr(p, 'age', 30) # Tạo attribute mới
print(p.age) # 30
Use case
- Dynamic attribute access (tên attribute từ variable/config)
- Generic object manipulation
- Serialization/deserialization