Tóm tắt: Trong hướng dẫn này, bạn sẽ học cách sử dụng lớp thuộc tính [] để xóa thuộc tính của một đối tượng.: in this tutorial, you’ll learn how to use the property[] class to delete the property of an object.
Để tạo một thuộc tính của một lớp, bạn sử dụng công cụ trang trí @Property. Underhood, trình trang trí
0 sử dụng lớpCode language: Python [python]
pprint[Person.__dict__]
1 có ba phương pháp: setter, getter và deleter.Code language: Python [python]
pprint[Person.__dict__]
Bằng cách sử dụng Deleter, bạn có thể xóa một thuộc tính khỏi một đối tượng. Lưu ý rằng phương thức
2 xóa thuộc tính của một đối tượng chứ không phải một lớp.Code language: Python [python]
pprint[Person.__dict__]
Sau đây xác định lớp
3 với thuộc tínhCode language: Python [python]
pprint[Person.__dict__]
4:Code language: Python [python]
pprint[Person.__dict__]
Code language: Python [python]
from pprint import pprint class Person: def __init__[self, name]: self._name = name @property def name[self]: return self._name @name.setter def name[self, value]: if value.strip[] == '': raise ValueError['name cannot be empty'] self._name = value @name.deleter def name[self]: del self._name
Trong lớp
3, chúng tôi sử dụngCode language: Python [python]
pprint[Person.__dict__]
6 trang trí. Bên trong Deleter, chúng tôi sử dụng từ khóaCode language: Python [python]
pprint[Person.__dict__]
7 để xóa thuộc tính
pprint[Person.__dict__]
Code language: Python [python]
8 của thể hiệnCode language: Python [python]
pprint[Person.__dict__]
3.Code language: Python [python]
pprint[Person.__dict__]
Những điều sau đây cho thấy
0 của lớpCode language: Python [python]
mappingproxy[{'__dict__': , '__doc__': None, '__init__': , '__module__': '__main__', '__weakref__': , 'name': }]
3:Code language: Python [python]
pprint[Person.__dict__]
Code language: Python [python]
pprint[Person.__dict__]
Output:
Code language: Python [python]
mappingproxy[{'__dict__': , '__doc__': None, '__init__': , '__module__': '__main__', '__weakref__': , 'name': }]
Lớp
2 có biếnCode language: Python [python]
mappingproxy[{'__dict__': , '__doc__': None, '__init__': , '__module__': '__main__', '__weakref__': , 'name': }]
4. Sau đây tạo ra một thể hiện mới của lớpCode language: Python [python]
pprint[Person.__dict__]
3:Code language: Python [python]
pprint[Person.__dict__]
Code language: Python [python]
person = Person['John']
5 có thuộc tínhCode language: Python [python]
mappingproxy[{'__dict__': , '__doc__': None, '__init__': , '__module__': '__main__', '__weakref__': , 'name': }]
8:Code language: Python [python]
pprint[Person.__dict__]
Code language: Python [python]
pprint[person.__dict__]
Output:
Code language: Python [python]
{'_name': 'John'}
Sau đây sử dụng từ khóa
7 để xóa thuộc tínhCode language: Python [python]
pprint[Person.__dict__]
4:Code language: Python [python]
pprint[Person.__dict__]
Code language: Python [python]
del person.name
Trong nội bộ, Python sẽ thực thi phương thức
9 để xóa thuộc tínhCode language: Python [python]
mappingproxy[{'__dict__': , '__doc__': None, '__init__': , '__module__': '__main__', '__weakref__': , 'name': }]
8 khỏi đối tượng
pprint[Person.__dict__]
Code language: Python [python]
1.Code language: Python [python]
person = Person['John']
5 sẽ trống như thế này:Code language: Python [python]
mappingproxy[{'__dict__': , '__doc__': None, '__init__': , '__module__': '__main__', '__weakref__': , 'name': }]
Code language: Python [python]
{}
Và nếu bạn cố gắng truy cập lại thuộc tính
4, bạn sẽ gặp lỗi:Code language: Python [python]
pprint[Person.__dict__]
Code language: Python [python]
print[person.name]
Error:
Code language: Python [python]
AttributeError: 'Person' object has no attribute '_name'
Bản tóm tắt
- Sử dụng trình trang trí Deleter để xóa một thuộc tính của một thể hiện của một lớp.
Bạn có thấy hướng dẫn này hữu ích không?
W3Schools được tối ưu hóa cho việc học và đào tạo. Ví dụ có thể được đơn giản hóa để cải thiện việc đọc và học tập. Hướng dẫn, tài liệu tham khảo và ví dụ được xem xét liên tục để tránh lỗi, nhưng chúng tôi không thể đảm bảo tính chính xác đầy đủ của tất cả các nội dung. Trong khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng, cookie và chính sách bảo mật của chúng tôi.
Bản quyền 1999-2022 bởi dữ liệu refsnes. Đã đăng ký Bản quyền. W3Schools được cung cấp bởi W3.CSS.
W3Schools is Powered by W3.CSS.