Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Khác biệt giữa getattr() và setattr() trong Python

getattr() - Lấy giá trị attribute

Syntax: getattr(object, name[, default])

  • Trả về giá trị attribute name của object
  • Nếu không tìm thấy: trả về default (nếu cung cấp) hoặc raise AttributeError

setattr() - Gán giá trị attribute

Syntax: setattr(object, name, value)

  • Set attribute name của object = 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