Delattr Function trong Python
Delattr Function trong Python

Hàm delattr() được dùng để xóa thuộc tính không còn sử dụng hoặc các thông tin nhạy cảm, giúp dọn dẹp, cải thiện bộ nhớ và đảm bảo an toàn thông tin.

delattr(object, name)
# object: đối tượng
# name: tên attribute cần xóa
# Ví dụ: delattr(person, 'name')

Nếu attribute không tồn tại, delattr() sẽ raise AttributeError. Hàm delattr() chỉ xóa attribute của đối tượng, không xóa attribute ở class. Không nên dùng delattr() để xóa các attribute built-in của đối tượng

class Person:
  species = "Homo Sapiens" # Attribute ở cấp độ class
  
  def __init__(self, name): 
    self.name = name # Attribute ở cấp độ instance

p = Person()

delattr(p, 'species') 
# attribute species được định nghĩa trong class Person sẽ không bị xóa, 
# mà chỉ xóa attribute species của đối tượng p nếu nó tồn tại.

delattr(p, 'name')
# nó sẽ xóa attribute name của đối tượng p, 
# nhưng không ảnh hưởng tới việc khởi tạo attribute name cho các đối tượng Person khác

Để xóa attribute của class có thể sử dụng hàm del, vd: del Person.species

Khi in ra các thuộc tính nếu không chắc thuộc tính đó có tồn tại hay không bạn có thể dụng hàm hasattr để check trước, tránh in ra lỗi.

if hasattr(p, 'species'):
  print(p.species)
else:
  # Thuộc tính không tồn tại
Last modified: October 1, 2023

Author

Comments

Write a Reply or Comment

Your email address will not be published.