Hướng dẫn how do you delete properties of an object in python? - làm cách nào để xóa các thuộc tính của một đối tượng trong python?

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í

pprint(Person.__dict__)

Code language: Python (python)
0 sử dụng lớp

pprint(Person.__dict__)

Code language: Python (python)
1 có ba phương pháp: setter, getter và deleter.

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

pprint(Person.__dict__)

Code language: Python (python)
2 xóa thuộc tính của một đối tượng chứ không phải một lớp.

Sau đây xác định lớp

pprint(Person.__dict__)

Code language: Python (python)
3 với thuộc tính

pprint(Person.__dict__)

Code language: Python (python)
4:

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

Code language: Python (python)

Trong lớp

pprint(Person.__dict__)

Code language: Python (python)
3, chúng tôi sử dụng

pprint(Person.__dict__)

Code language: Python (python)
6 trang trí. Bên trong Deleter, chúng tôi sử dụng từ khóa

pprint(Person.__dict__)

Code language: Python (python)
7 để xóa thuộc tính

pprint(Person.__dict__)

Code language: Python (python)
8 của thể hiện

pprint(Person.__dict__)

Code language: Python (python)
3.

Những điều sau đây cho thấy

mappingproxy({'__dict__': '__dict__' of 'Person' objects>, '__doc__': None, '__init__': 0x000001DC41D62670>, '__module__': '__main__', '__weakref__': '__weakref__' of 'Person' objects>, 'name': 0x000001DC41C89130>})

Code language: Python (python)
0 của lớp

pprint(Person.__dict__)

Code language: Python (python)
3:

pprint(Person.__dict__)

Code language: Python (python)

Output:

mappingproxy({'__dict__': '__dict__' of 'Person' objects>, '__doc__': None, '__init__': 0x000001DC41D62670>, '__module__': '__main__', '__weakref__': '__weakref__' of 'Person' objects>, 'name': 0x000001DC41C89130>})

Code language: Python (python)

Lớp

mappingproxy({'__dict__': '__dict__' of 'Person' objects>, '__doc__': None, '__init__': 0x000001DC41D62670>, '__module__': '__main__', '__weakref__': '__weakref__' of 'Person' objects>, 'name': 0x000001DC41C89130>})

Code language: Python (python)
2 có biến

pprint(Person.__dict__)

Code language: Python (python)
4. Sau đây tạo ra một thể hiện mới của lớp

pprint(Person.__dict__)

Code language: Python (python)
3:

person = Person('John')

Code language: Python (python)

mappingproxy({'__dict__': '__dict__' of 'Person' objects>, '__doc__': None, '__init__': 0x000001DC41D62670>, '__module__': '__main__', '__weakref__': '__weakref__' of 'Person' objects>, 'name': 0x000001DC41C89130>})

Code language: Python (python)
5 có thuộc tính

pprint(Person.__dict__)

Code language: Python (python)
8:

pprint(person.__dict__)

Code language: Python (python)

Output:

{'_name': 'John'}

Code language: Python (python)

Sau đây sử dụng từ khóa

pprint(Person.__dict__)

Code language: Python (python)
7 để xóa thuộc tính

pprint(Person.__dict__)

Code language: Python (python)
4:

del person.name

Code language: Python (python)

Trong nội bộ, Python sẽ thực thi phương thức

mappingproxy({'__dict__': '__dict__' of 'Person' objects>, '__doc__': None, '__init__': 0x000001DC41D62670>, '__module__': '__main__', '__weakref__': '__weakref__' of 'Person' objects>, 'name': 0x000001DC41C89130>})

Code language: Python (python)
9 để xóa thuộc tính

pprint(Person.__dict__)

Code language: Python (python)
8 khỏi đối tượng

person = Person('John')

Code language: Python (python)
1.

mappingproxy({'__dict__': '__dict__' of 'Person' objects>, '__doc__': None, '__init__': 0x000001DC41D62670>, '__module__': '__main__', '__weakref__': '__weakref__' of 'Person' objects>, 'name': 0x000001DC41C89130>})

Code language: Python (python)
5 sẽ trống như thế này:

{}

Code language: Python (python)

Và nếu bạn cố gắng truy cập lại thuộc tính

pprint(Person.__dict__)

Code language: Python (python)
4, bạn sẽ gặp lỗi:

print(person.name)

Code language: Python (python)

Error:

AttributeError: 'Person' object has no attribute '_name'

Code language: Python (python)

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.

Làm thế nào để bạn xóa các thuộc tính khỏi một đối tượng?

Xóa thuộc tính khỏi một đối tượng, toán tử xóa xóa cả giá trị của thuộc tính và chính thuộc tính. Sau khi xóa, tài sản không thể được sử dụng trước khi được thêm lại. Toán tử xóa được thiết kế để sử dụng trên các thuộc tính đối tượng. Nó không có tác dụng đối với các biến hoặc chức năng.The delete operator deletes both the value of the property and the property itself. After deletion, the property cannot be used before it is added back again. The delete operator is designed to be used on object properties. It has no effect on variables or functions.

Làm thế nào để bạn xóa một thuộc tính khỏi một đối tượng obj?

Trong JavaScript, có 2 cách phổ biến để loại bỏ các thuộc tính khỏi một đối tượng. Cách tiếp cận có thể thay đổi đầu tiên là sử dụng toán tử Xóa đối tượng.Property. Cách tiếp cận thứ hai, có thể bất biến vì nó không sửa đổi đối tượng ban đầu, là gọi phép phá hủy đối tượng và lan truyền cú pháp: const {Property, ...use the delete object. property operator. The second approach, which is immutable since it doesn't modify the original object, is to invoke the object destructuring and spread syntax: const {property, ...

Làm thế nào bạn sẽ xóa tài sản của sinh viên đối tượng?

Bạn có thể sử dụng toán tử xóa với.hoặc [] để loại bỏ thuộc tính khỏi một đối tượng.use the delete operator with . or [ ] to remove the property from an object.

Người vận hành nào có thể được sử dụng để xóa các thuộc tính khỏi đối tượng?

Toán tử xóa loại bỏ một thuộc tính khỏi một đối tượng.Nếu giá trị của tài sản là một đối tượng và không còn tài liệu tham khảo nào đến đối tượng, đối tượng được giữ bởi thuộc tính đó cuối cùng được phát hành tự động.