Menu
CoddyTech

Thuộc tính

Thuộc phần Lập trình hướng đối tượng trong hành trình Python của Coddy. Bài học 6 trên 64.

Thuộc tính (attribute) là dữ liệu hoặc biến thuộc về một lớp (class) hay các đối tượng (object) của lớp đó. Chúng lưu trữ thông tin về trạng thái của đối tượng.

Có hai loại thuộc tính: 

Thuộc tính lớp: dùng chung cho mọi đối tượng của lớp:

class Student:
    school_name = "Python Academy"  # thuộc tính của lớp

Thuộc tính của từng đối tượng - riêng biệt với mỗi đối tượng:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # thuộc tính của instance
        self.age = age      # thuộc tính của instance

Tạo các đối tượng học viên và đặt dữ liệu riêng cho từng đối tượng:

student1 = Student()
student2 = Student()

student1.set_info("Alice", 20)
student2.set_info("Bob", 22)

Truy cập các thuộc tính của instance (riêng cho từng đối tượng):

print(student1.name)    # Alice
print(student2.name)    # Bob
print(student1.age)     # 20

Truy cập thuộc tính lớp (giống nhau với mọi đối tượng):

print(student1.school_name)    # Python Academy
print(student2.school_name)    # Python Academy
print(Student.school_name)     # Python Academy

Đầu ra:

Alice
Bob
20
Python Academy
Python Academy
Python Academy

Điểm khác biệt chính: Thuộc tính lớp được dùng chung cho mọi đối tượng, còn thuộc tính instance là riêng của từng đối tượng. Dùng self.attribute_name cho thuộc tính instance và chỉ dùng attribute_name cho thuộc tính lớp.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch Python online