Các thuộc tính lớp là các biến được xác định trực tiếp trong lớp được chia sẻ bởi tất cả các đối tượng của lớp. are the variables defined directly in the class that are shared by all objects of the class. Thuộc tính thể hiện là thuộc tính hoặc thuộc tính được gắn vào một thể hiện của một lớp. Các thuộc tính thể hiện được xác định trong hàm tạo. are attributes or properties attached to an instance of a class. Instance attributes are defined in the constructor. Bảng sau liệt kê sự khác biệt giữa thuộc tính lớp và thuộc tính phiên bản:
Thuộc tính lớp Thuộc tính thể hiện Được xác định trực tiếp bên trong một lớp. Được xác định bên trong một hàm tạo bằng tham số self
. Chia sẻ trên tất cả các đối tượng. Cụ thể cho đối tượng. Được truy cập bằng tên lớp cũng như sử dụng đối tượng với ký hiệu DOT, ví dụ:
0 hoặc >>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
1>>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
Truy cập bằng ký hiệu chấm đối tượng, ví dụ:
2>>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
Thay đổi giá trị bằng cách sử dụng
3 sẽ được phản ánh cho tất cả các đối tượng.>>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
Thay đổi giá trị của thuộc tính thể hiện sẽ không được phản ánh cho các đối tượng khác.
Ví dụ sau đây cho thấy việc sử dụng thuộc tính lớp
>>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
4.class Student:
count = 0
def __init__[self]:
Student.count += 1
Trong ví dụ trên,
>>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
4 là một thuộc tính trong lớp học sinh. Bất cứ khi nào một đối tượng mới được tạo, giá trị của >>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
4 được tăng lên bởi 1. Bây giờ bạn có thể truy cập thuộc tính >>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
4 sau khi tạo các đối tượng, như được hiển thị bên dưới.>>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
Sau đây thể hiện các thuộc tính thể hiện.
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
Bây giờ, bạn có thể chỉ định các giá trị trong khi tạo một thể hiện, như được hiển thị bên dưới.
>>> std = Student['Bill',25]
>>> std.name
'Bill'
>>> std.age
25
>>> std.name = 'Steve'
>>> std.age = 45
>>> std.name
'Steve'
>>> std.age
45
Ghé thăm lớp Python để biết thêm thông tin.
Khi tạo
8 trong Python, bạn sẽ thường tạo các thuộc tính có thể được chia sẻ trên mọi đối tượng của một lớp hoặc thuộc tính sẽ là duy nhất cho mỗi đối tượng của lớp.>>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
Trong bài viết này, chúng ta sẽ thấy sự khác biệt giữa các 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 chúng ta làm điều đó, hãy xem làm thế nào để tạo một lớp học trong Python.
Cách tạo một lớp học trong Python
Để tạo một lớp trong Python, chúng tôi sử dụng từ khóa
>>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2
8 theo sau là tên của lớp. Đây là một ví dụ:class Student:
name = "Jane"
course = "JavaScript"
Trong mã trên, chúng tôi đã tạo một lớp gọi là
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
0 với thuộc tính class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
1 và class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
2. Bây giờ chúng ta 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 gọi là
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
3 từ lớp class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
0.Khi chúng tôi in
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
5, chúng tôi đã in "Jane" vào bảng điều khiển. Hãy nhớ lại rằng giá trị của Jane được lưu trữ trong một biến trong lớp gốc được tạo.Các biến
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
1 và class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
2 này thực sự là các thuộc tính lớp. Chúng tôi sẽ thấy nhiều ví dụ hơn trong phần tiếp theo để giúp bạn hiểu rõ hơn.Để đưa ra một định nghĩa cơ bản về cả hai thuật ngữ, các 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.class attributes are class variables that are inherited by every object of a class. The value of class attributes remain the same for every new object.
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 xác định bên ngoài hàm
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
8.Mặt khác, các thuộc tính thể hiện, được xác định trong hàm
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
8, là các biến lớp cho phép chúng tôi xác định các giá trị khác nhau cho từng đối tượng của một lớp.instance attributes, which are defined in the class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
8 function, are class variables that allow us to define different values for each object of a class.
Đâ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 mã trên, chúng tôi đã tạo một biến trong lớp
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
0 có tên là >>> std = Student['Bill',25]
>>> std.name
'Bill'
>>> std.age
25
>>> std.name = 'Steve'
>>> std.age = 45
>>> std.name
'Steve'
>>> std.age
45
1.Chúng tôi đã tạo thêm hai biến nhưng trong hàm
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
8 - class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
1 và class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
2 - mà chúng tôi đã khởi tạo bằng tham số self
.Tham số đầu tiên trong hàm
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
8 được sử 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à bất cứ điều gì bạn muốn - theo quy ước, self
chủ yếu được sử dụng.Biến
>>> std = Student['Bill',25]
>>> std.name
'Bill'
>>> std.age
25
>>> std.name = 'Steve'
>>> std.age = 45
>>> std.name
'Steve'
>>> std.age
45
1 hoạt động như một thuộc tính lớp trong khi class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
1 và class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
2 là các thuộc tính thể hiện. Hãy phá vỡ ví dụ trên xuống để giải thích các thuộc tính thể hiện.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ừ lớp
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
0 - class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
3 và class Student:
name = "Jane"
course = "JavaScript"
3. 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ó biến class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
1 và class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
2 của riêng mình vì chúng được tạo trong hàm class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
8.Bây giờ chúng ta hãy in biến
>>> std = Student['Bill',25]
>>> std.name
'Bill'
>>> std.age
25
>>> std.name = 'Steve'
>>> std.age = 45
>>> std.name
'Steve'
>>> std.age
45
1 cho mỗi đối tượng và xem điều gì sẽ xảy ra.print[Student1.school] # freeCodeCamp.org
print[Student2.school] # freeCodeCamp.org
Cả hai đã cho chúng tôi cùng một giá trị vì biến
>>> std = Student['Bill',25]
>>> std.name
'Bill'
>>> std.age
25
>>> std.name = 'Steve'
>>> std.age = 45
>>> std.name
'Steve'
>>> std.age
45
1 là thuộc tính lớp.Sự kết luận
Trong bài viết này, chúng tôi đã 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 lại, các thuộc tính lớp vẫn giữ nguyên cho mọi đối tượng và được xác định bên ngoài hàm
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
8. Các thuộc tính thể hiện có phần năng động vì chúng có thể có các giá trị khác nhau trong mỗi đối tượng.class attributes remain the same for every object and are defined outside the class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
8 function. Instance attributes are somewhat dynamic because they can have different values in
each object.Các thuộc tính thể hiện được xác định trong hàm
8.are defined in the class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
class Student:
def __init__[self, name, age]:
self.name = name
self.age = age
8 function.Mã hóa hạnh phúc!
Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu