Python thêm thuộc tính vào một lớp

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

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 đơn giản

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

Code language: Python [python]

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 có hai thuộc tính

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]
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. Nó cũng có hai phương pháp tính diện tích và chu vi hình tròn

Cả

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]
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ớ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. 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ác

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

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]
5. Ví dụ: phần sau định nghĩa

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]
0 là thuộc tính 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]

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ố 8

Trong các phương thức

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]
7 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]
8, chúng ta truy cập thuộc tính 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]
0 thông qua biến

object_name.class_attribute class_name.class_attribute

Code language: Oracle Rules Language [ruleslanguage]
0

Bên ngoài 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, bạn có thể truy cập thuộc tính 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]
0 thông qua một thể hiện của 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 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ụ

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]
4

đầu ra

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]
5

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

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]
48. Tất cả các phiên bản của 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]
48 sẽ có chiết khấu mặc định được chỉ định bởi thuộc tính 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]
50

Chủ Đề