Đối tượng thuộc tính trong python là gì?
Nếu chúng ta muốn sử dụng một chức năng như thuộc tính hoặc thuộc tính, chúng ta có thể sử dụng trình trang trí @property trong lập trình python. @property trong python là một công cụ trang trí. Trình trang trí @property là trình trang trí tích hợp có trong hàm property() Show
Chúng ta cũng có thể sử dụng hàm property() để định nghĩa các thuộc tính của lớp python @property trong Python là gì?Để tìm hiểu về @property trong python, trước tiên chúng ta nên biết thuật ngữ - decorator. Decorator là một loại hàm rất mạnh và đặc biệt trong python. Một trình trang trí lấy một hàm khác làm đối số của nó và nó trả về một hàm khác với hành vi đã sửa đổi @property cũng là một trang trí. Nếu chúng ta muốn sử dụng một chức năng như thuộc tính hoặc thuộc tính, chúng ta có thể sử dụng trình trang trí @property. Trình trang trí @property là trình trang trí tích hợp có trong hàm property(). Hàm property() dùng để định nghĩa các thuộc tính của lớp python Vì vậy, trình trang trí @property giúp công việc của chúng ta dễ dàng hơn, vì chúng ta không cần gọi hàm property() theo cách thủ công để lấy các thuộc tính của lớp Chúng ta có thể sử dụng trình trang trí @property trên bất kỳ phương thức nào của một lớp và sử dụng phương thức đó làm thuộc tính Trình trang trí @property cũng làm cho việc sử dụng getters và setters dễ dàng hơn nhiều, chúng ta sẽ tìm hiểu thêm về getters và setters ở phần sau của bài viết này Khai báo thuộc tínhChúng ta cũng có thể khai báo một hàm là một thuộc tính bằng cách sử dụng hàm property(), hàm thuộc tính tự trả về đối tượng của lớp thuộc tính Cú pháp cơ bản của phương thức property() là. thuộc tính (fget, fset, fdel, doc)
Những gì được trả lại bởi tài sản?Có ba phương thức chủ yếu được liên kết với một thuộc tính trong python
Phương thức property() trả về hàm dưới dạng lớp thuộc tính bằng cách sử dụng các getters, setters và deleters này Hãy lấy một ví dụ để hiểu rõ hơn về phương thức property()
Lớp ưu tiênHãy để chúng tôi lấy ví dụ về một lớp Person và chúng tôi sẽ khai báo một hàm cụ thể là person_name(). Chúng ta sẽ tìm hiểu cách khai báo hàm dưới dạng thuộc tính bằng phương thức property(). Phương thức thuộc tính sẽ chuyển đổi hàm thành thuộc tính Ghi chú Trình trang trí @property được khuyến nghị sử dụng trong trường hợp phương thức property() Cú pháp sử dụng phương thức property()
Ghi chú Nếu không khai báo hàm dưới dạng thuộc tính thì phải gọi hàm bằng dấu ngoặc đơn hoặc dấu () sau tên hàm Thí dụ. Jack. tên_người() Ngược lại, chúng ta sẽ lấy địa chỉ của hàm person_name() Sử dụng @property DecoratorTrước đó chúng ta đã học về phương thức property(). Bây giờ, chúng ta hãy lấy ví dụ tương tự về lớp Person. Chúng tôi sẽ khai báo cùng một chức năng có tên person_name(). Nhưng lần này, chúng ta sẽ tìm hiểu cách khai báo hàm dưới dạng thuộc tính bằng cách sử dụng @property decorator trong python. Trình trang trí @property trong python là kỹ thuật được sử dụng thường xuyên và thực tế hơn so với hàm property() Cú pháp sử dụng @property decorator
Tại sao chúng ta nên sử dụng @property Decorator?
Người thiết lập tài sảnTrong ví dụ trên, chúng ta đã thấy cú pháp và cách sử dụng @property decorator. Vấn đề chính với trình trang trí @property được sử dụng trong lớp Person là chúng ta không thể sử dụng thuộc tính để sửa đổi các thuộc tính hoặc giá trị của lớp. Trình trang trí @property chỉ có thể được sử dụng để truy cập giá trị được trả về bởi hàm person_name(). Chúng tôi không thể sửa đổi giá trị bằng cách chỉ sử dụng trình trang trí @property trong python Python có một phương thức trang trí đặc biệt gọi là phương thức setter giúp sửa đổi giá trị của hàm. Cú pháp khai báo decorator phương thức setter là. @tên tài sản. người định cư Hãy lấy cùng một ví dụ về lớp Person và tìm hiểu cách sử dụng phương thức trang trí setter để sửa đổi giá trị của một hàm
Trình xóa thuộc tínhCũng giống như phương thức setter, python có phương thức deleter dùng để xóa thuộc tính của một lớp. Cú pháp khai báo trình trang trí phương thức deleter là. @tên tài sản. thợ xóa Sau khi thuộc tính bị xóa, không thể truy cập thuộc tính đó bằng cùng một phiên bản Khi chúng ta sử dụng từ khóa del với tên lớp, phương thức deleter được gọi sẽ xóa thuộc tính của lớp Hãy lấy cùng một ví dụ về lớp Person và tìm hiểu cách sử dụng phương thức trang trí deleter để xóa thuộc tính name của lớp Person
Ghi chú Như chúng ta có thể thấy trong ví dụ minh họa ở trên, sau khi chúng ta gọi phương thức deleter, thuộc tính name đã bị xóa. Vì vậy, khi chúng tôi cố gắng truy cập tên sau khi xóa, đã xảy ra lỗi cho biết đối tượng 'Người' không có thuộc tính 'tên' Phương thức xóa không đặt giá trị thành Không, phương thức xóa sẽ xóa giá trị khỏi lớp Lớp không có Getters và SettersHãy để chúng tôi lấy ví dụ về một lớp Sinh viên sẽ lưu trữ tên và số thứ tự của sinh viên. Chúng ta sẽ tạo các đối tượng cho lớp Sinh viên và sẽ sử dụng các đối tượng của lớp Sinh viên để lấy và đặt các giá trị của lớp Tuy nhiên, việc sử dụng Đối tượng để cài đặt và nhận các giá trị không được khuyến nghị do các vấn đề về bảo mật dữ liệu. Ở phần sau của bài viết này, chúng ta sẽ tìm hiểu về một số phương thức được gọi là getters và setters sẽ giúp chúng ta thiết lập và lấy các giá trị của lớp Cùng xem cách thực hiện để hiểu rõ hơn
Sử dụng Getters và SettersTrước đây chúng ta đã học về cách thiết lập và nhận các giá trị của lớp bằng cách sử dụng các đối tượng. Bây giờ chúng ta hãy tìm hiểu về hai phương thức được sử dụng phổ biến nhất là - phương thức getter và phương thức setter Các phương thức getter và setter giúp chúng tôi bảo mật dữ liệu lớp của mình. Không có getters và setters, bất kỳ đối tượng nào cũng có thể truy cập và sửa đổi các giá trị của một lớp và getter và setters giúp chúng ta đóng gói dữ liệu của mình trong một đối tượng bằng cách sử dụng các phương thức để dữ liệu không thể bị sửa đổi chỉ bằng cách sử dụng một đối tượng của lớp Đối tượng thuộc tính là gì?Đối tượng là tập hợp các thuộc tính và thuộc tính là sự kết hợp giữa tên (hoặc khóa) và giá trị. Giá trị của một thuộc tính có thể là một hàm, trong trường hợp đó, thuộc tính được gọi là một phương thức. Các đối tượng trong JavaScript, giống như trong nhiều ngôn ngữ lập trình khác, có thể được so sánh với các đối tượng trong đời thực.
Sự khác biệt giữa thuộc tính và thuộc tính trong Python là gì?Các thuộc tính được mô tả bằng các biến dữ liệu, ví dụ như tên, tuổi, chiều cao, v.v. Thuộc tính là loại thuộc tính đặc biệt có các phương thức getter, setter và delete như các phương thức __get__, __set__ và __delete__. |