Bản tóm tắt. trong hướng dẫn này, bạn sẽ tìm hiểu về các thuộc tính của lớp Python và thời điểm sử dụng chúng một cách thích hợp
Giới thiệu về thuộc tính lớp
Hãy bắt đầu với một lớp học
9 đơn giảnCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
Code language: Python [python]
class Circle: def __init__[self, radius]: self.pi = 3.14159 self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2*self.pi * self.radius
Lớp
9 có hai thuộc tínhCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
0 vàCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
1. Nó cũng có hai phương pháp tính diện tích và chu vi hình trònCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
Cả
0 và
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
Code language: Python [python]
1 đều được gọi là thuộc tính thể hiện. Nói cách khác, chúng thuộc về một thể hiện cụ thể của lớpCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
9. Nếu bạn thay đổi các thuộc tính của một phiên bản, nó sẽ không ảnh hưởng đến các phiên bản khácCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
Bên cạnh các thuộc tính thể hiện, Python cũng hỗ trợ các thuộc tính lớp. Các thuộc tính của lớp không liên kết với bất kỳ phiên bản cụ thể nào của lớp. Nhưng chúng được chia sẻ bởi tất cả các phiên bản của lớp
Nếu bạn đã từng lập trình bằng Java hoặc C#, bạn sẽ thấy rằng các thuộc tính lớp tương tự như các thành viên tĩnh, nhưng không giống nhau
Để định nghĩa một thuộc tính lớp, bạn đặt nó bên ngoài phương thức
5. Ví dụ: phần sau định nghĩaCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
0 là thuộc tính lớpCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
Code language: Python [python]
Sau đó, bạn có thể truy cập thuộc tính lớp thông qua các phiên bản của lớp hoặc thông qua tên lớp
________số 8Trong các phương thức
7 vàCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
8, chúng ta truy cập thuộc tính lớpCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
0 thông qua biếnCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
0Code language: Oracle Rules Language [ruleslanguage]
object_name.class_attribute class_name.class_attribute
Bên ngoài lớp
9, bạn có thể truy cập thuộc tính lớpCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
0 thông qua một thể hiện của lớpCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
9 hoặc trực tiếp thông qua lớp
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
Code language: Python [python]
9. Ví dụCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
4Code language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
đầu ra
5Code language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
Cách các thuộc tính lớp Python hoạt động
Khi bạn truy cập một thuộc tính thông qua một thể hiện của lớp, Python sẽ tìm kiếm thuộc tính đó trong danh sách thuộc tính thể hiện. Nếu danh sách thuộc tính của cá thể không có thuộc tính đó, Python tiếp tục tra cứu thuộc tính trong danh sách thuộc tính của lớp. Python trả về giá trị của thuộc tính miễn là nó tìm thấy thuộc tính trong danh sách thuộc tính thể hiện hoặc danh sách thuộc tính lớp
Tuy nhiên, nếu bạn truy cập một thuộc tính, Python sẽ trực tiếp tìm kiếm thuộc tính đó trong danh sách thuộc tính của lớp
Ví dụ sau định nghĩa một lớp
48. Tất cả các phiên bản của lớpCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
48 sẽ có chiết khấu mặc định được chỉ định bởi thuộc tính lớpCode language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius
50Code language: Python [python]
class Circle: pi = 3.14159 def __init__[self, radius]: self.radius = radius def area[self]: return self.pi * self.radius**2 def circumference[self]: return 2 * self.pi * self.radius