HomeLập trìnhPythonThuộc tính Python...

Thuộc tính Python – Ví dụ về thuộc tính lớp và trường hợp


Khi tạo một class trong Python, thông thường bạn sẽ tạo các thuộc tính có thể dùng chung cho mọi đối tượng của một lớp hoặc các thuộc tính sẽ là duy nhất cho từng đối tượng của lớp.

Trong bài viết này, chúng ta sẽ thấy sự khác biệt giữa thuộc tính lớp và thuộc tính thể hiện trong Python với các ví dụ.

Trước khi làm điều đó, hãy xem cách tạo một lớp trong Python.

Cách tạo một lớp trong Python

Để tạo một lớp trong Python, chúng ta sử dụng class từ khóa theo sau là tên của lớp. Đây là một ví dụ:

class Student:
    name = "Jane"
    course = "JavaScript"

Trong đoạn mã trên, chúng tôi đã tạo một lớp gọi là Student với một namecourse tài sản. Bây giờ hãy tạo các đối tượng mới từ lớp này.

class Student:
    name = "Jane"
    course = "JavaScript"
    
Student1 = Student()

print(Student1.name)
# Jane

Chúng tôi đã tạo một đối tượng mới được gọi là Student1 từ Student lớp.

Khi chúng tôi in Student1.name, chúng tôi đã in “Jane” ra bàn điều khiển. Nhớ lại rằng giá trị của Jane đã được lưu trữ trong một biến trong lớp ban đầu được tạo.

Cái này namecourse các biến thực sự là các thuộc tính lớp. Chúng ta sẽ xem thêm các ví dụ trong phần tiếp theo để giúp bạn hiểu rõ hơn.

Đọc thêm  Bản đồ Python () – Chức năng liệt kê với các ví dụ

Thuộc tính lớp và trường hợp trong Python

Để đưa ra một định nghĩa cơ bản của cả hai điều khoản, thuộc tính lớp là các biến lớp được kế thừa bởi mọi đối tượng của một lớp. Giá trị của các thuộc tính lớp vẫn giữ nguyên cho mọi đối tượng mới.

Giống như bạn sẽ thấy trong các ví dụ trong phần này, các thuộc tính lớp được định nghĩa bên ngoài __init__() chức năng.

Mặt khác, thuộc tính thể hiệnđược xác định trong __init__() hàm, là các biến lớp cho phép chúng ta xác định các giá trị khác nhau cho từng đối tượng của một lớp.

Đây là một ví dụ:

class Student:
    school = "freeCodeCamp.org"
    
    def __init__(self, name, course):
        self.name = name
        self.course = course
    
Student1 = Student("Jane", "JavaScript")
Student2 = Student("John", "Python")

print(Student1.name) # Jane
print(Student2.name) # John

Trong đoạn mã trên, chúng tôi đã tạo một biến trong Student lớp được gọi school.

Chúng tôi đã tạo thêm hai biến nhưng trong __init__() chức năng – namecourse – mà chúng tôi đã khởi tạo bằng cách sử dụng self tham số.

Tham số đầu tiên trong một __init__() hàm dùng để khởi tạo các tham số khác khi tạo các biến trong hàm. Bạn có thể gọi nó là gì bạn muốn – theo quy ước, self chủ yếu được sử dụng.

Các school biến hoạt động như một thuộc tính lớp trong khi namecourse là các thuộc tính thể hiện. Hãy chia nhỏ ví dụ trên để giải thích các thuộc tính của cá thể.

Student1 = Student("Jane", "JavaScript")
Student2 = Student("John", "Python")

print(Student1.name) # Jane
print(Student2.name) # John

Chúng tôi đã tạo hai đối tượng từ Student lớp – Student1Student2. Mỗi đối tượng này, theo mặc định, sẽ có tất cả các biến được tạo trong lớp. Nhưng mỗi đối tượng có thể có riêng của mình namecourse biến bởi vì chúng đã được tạo ra trong __init__() chức năng.

Đọc thêm  Chức năng ngủ của Python – Cách làm cho Python đợi vài giây trước khi tiếp tục, với các lệnh ví dụ

Bây giờ hãy in school biến cho từng đối tượng và xem điều gì sẽ xảy ra.

print(Student1.school) # freeCodeCamp.org
print(Student2.school) # freeCodeCamp.org

Cả hai đều cho chúng tôi cùng một giá trị bởi vì school biến là một thuộc tính lớp.

Phần kết luận

Trong bài viết này, chúng ta đã thấy cách tạo một lớp trong Python và sự khác biệt giữa các thuộc tính lớp và thể hiện.

Tóm tắt, thuộc tính lớp giữ nguyên cho mọi đối tượng và được xác định bên ngoài __init__() chức năng. thuộc tính thể hiện hơi động vì chúng có thể có các giá trị khác nhau trong mỗi đối tượng.

thuộc tính thể hiện được định nghĩa trong __init__() chức năng.

Chúc mừng mã hóa!



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status