Python là một ngôn ngữ hoàn toàn hướng đối tượng. Bạn đã làm việc với các lớp và đối tượng ngay từ đầu của các hướng dẫn này. Mỗi phần tử trong chương trình Python là một đối tượng của một lớp. Một số, chuỗi, danh sách, từ điển, v.v. , được sử dụng trong một chương trình là một đối tượng của lớp dựng sẵn tương ứng. Bạn có thể truy xuất tên lớp của các biến hoặc đối tượng bằng phương thức type[], như hình bên dưới
Ví dụ. Các lớp tích hợp Python
Sao chép>>> num=20
>>> type[num]
>>> s="Python"
>>> type[s]
Xác định một lớp
Một lớp trong Python có thể được định nghĩa bằng từ khóa
class Student:
pass
8class :
.
.
Theo cú pháp ở trên, một lớp được xác định bằng cách sử dụng từ khóa
class Student:
pass
8 theo sau là tên lớp và toán tử std = Student[]
0 sau tên lớp, điều này cho phép bạn tiếp tục ở dòng thụt lề tiếp theo để xác định các thành viên của lớp. Sau đây là các thành viên trong lớpMột lớp cũng có thể được định nghĩa mà không cần bất kỳ thành viên nào. Ví dụ sau định nghĩa một lớp rỗng sử dụng từ khóa
std = Student[]
1Ví dụ. Xác định lớp Python
Sao chépclass Student:
pass
Khởi tạo lớp sử dụng ký hiệu hàm. Để tạo một đối tượng của lớp, chỉ cần gọi một lớp giống như một hàm không tham số trả về một đối tượng mới của lớp, như hình bên dưới
Ví dụ. Tạo một đối tượng của một lớp
Sao chépstd = Student[]
Ở trên,
std = Student[]
2 trả về một đối tượng của lớp std = Student[]
3, được gán cho một biến cục bộ std = Student[]
4. Lớp std = Student[]
3 là một lớp trống vì nó không chứa bất kỳ thành viên nàoThuộc tính lớp
Thuộc tính lớp là các biến được định nghĩa trực tiếp trong lớp được chia sẻ bởi tất cả các đối tượng của lớp. Các thuộc tính của lớp có thể được truy cập bằng cách sử dụng tên lớp cũng như sử dụng các đối tượng
Ví dụ. Xác định lớp Python
Sao chépclass Student:
pass
2Ở trên,
std = Student[]
6 là một thuộc tính lớp được định nghĩa bên trong một lớp. Giá trị của std = Student[]
6 sẽ giữ nguyên cho tất cả các đối tượng trừ khi được sửa đổi rõ ràngVí dụ. Xác định lớp Python
Sao chépclass Student:
pass
5Như bạn có thể thấy, một thuộc tính lớp được truy cập bởi
std = Student[]
8 cũng như std = Student[]
9. Thay đổi giá trị của thuộc tính lớp bằng tên lớp sẽ thay đổi nó trên tất cả các phiên bản. Tuy nhiên, việc thay đổi giá trị thuộc tính lớp bằng cách sử dụng phiên bản sẽ không ảnh hưởng đến các phiên bản hoặc lớp khácVí dụ. Xác định lớp Python
Sao chépclass Student:
pass
8Ví dụ sau minh họa việc sử dụng thuộc tính lớp
class Student:
pass
20Ví dụ. Sinh viên. py
Sao chépclass :
.
.
0Trong ví dụ trên,
class Student:
pass
20 là một thuộc tính trong lớp Sinh viên. Bất cứ khi nào một đối tượng mới được tạo, giá trị của class Student:
pass
20 sẽ tăng thêm 1. Bây giờ bạn có thể truy cập thuộc tính class Student:
pass
20 sau khi tạo các đối tượng, như hình bên dướiVí dụ
Sao chépclass :
.
.
4Người xây dựng
Trong Python, phương thức khởi tạo được gọi tự động bất cứ khi nào một đối tượng mới của một lớp được khởi tạo, giống như các hàm tạo trong C# hoặc Java. Hàm tạo phải có tên đặc biệt là
class Student:
pass
24 và tham số đặc biệt có tên là class Student:
pass
25Ghi chú
Tham số đầu tiên của mỗi phương thức trong một lớp phải là
class Student:
pass
25, tham chiếu đến đối tượng gọi. Tuy nhiên, bạn có thể đặt bất kỳ tên nào cho tham số đầu tiên, không nhất thiết phải là class Student:
pass
25Ví dụ sau định nghĩa một constructor
Ví dụ. Người xây dựng
Sao chépclass :
.
.
9Bây giờ, bất cứ khi nào bạn tạo một đối tượng của lớp
std = Student[]
3, phương thức khởi tạo của lớp class Student:
pass
24 sẽ được gọi, như hình bên dướiVí dụ. Constructor Call khi tạo đối tượng
Sao chépclass :
.
.
0Hàm tạo trong Python được sử dụng để xác định các thuộc tính của một thể hiện và gán giá trị cho chúng
Thuộc tính sơ thẩm
Thuộc tính thể hiện là thuộc tính hoặc thuộc tính gắn liền với một thể hiện của một lớp. Thuộc tính thể hiện được xác định trong hàm tạo
Ví dụ sau định nghĩa các thuộc tính thể hiện
class Student:
pass
50 và class Student:
pass
51 trong hàm tạoVí dụ. Thuộc tính sơ thẩm
Sao chépclass :
.
.
1Một thuộc tính thể hiện có thể được truy cập bằng ký hiệu dấu chấm.
class Student:
pass
52, như hình bên dướiVí dụ
Sao chépclass :
.
.
2Bạn có thể đặt giá trị của các thuộc tính bằng cách sử dụng ký hiệu dấu chấm, như hình bên dưới
Ví dụ
Sao chépclass :
.
.
3Bạn có thể chỉ định giá trị của các thuộc tính thể hiện thông qua hàm tạo. Hàm tạo sau bao gồm các tham số tên và tuổi, ngoại trừ tham số
class Student:
pass
25Ví dụ. Đặt giá trị thuộc tính
Sao chépclass :
.
.
4Giờ đây, bạn có thể chỉ định các giá trị trong khi tạo phiên bản, như minh họa bên dưới
Ví dụ. Truyền các giá trị thuộc tính của Instance trong Constructor
Sao chépclass :
.
.
5Ghi chú
Bạn không cần phải chỉ định giá trị của tham số
class Student:
pass
25. Nó sẽ được chỉ định nội bộ trong PythonBạn cũng có thể đặt giá trị mặc định cho thuộc tính cá thể. Đoạn mã sau đặt các giá trị mặc định của các tham số hàm tạo. Vì vậy, nếu các giá trị không được cung cấp khi tạo một đối tượng, các giá trị sẽ được gán sau
Ví dụ. Đặt giá trị mặc định của thuộc tính
Sao chépclass :
.
.
6Bây giờ, bạn có thể tạo một đối tượng với các giá trị mặc định, như hình bên dưới
Ví dụ. Giá trị mặc định của thuộc tính phiên bản
Sao chépclass :
.
.
7Truy cập thuộc tính lớp so với thuộc tính cá thể trong Python để biết thêm thông tin
Thuộc tính lớp
Trong Python, một thuộc tính trong lớp có thể được định nghĩa bằng hàm property[]
Phương thức
class Student:
pass
55 trong Python cung cấp giao diện cho các thuộc tính thể hiện. Nó đóng gói các thuộc tính thể hiện và cung cấp một thuộc tính, giống như Java và C#Phương thức
class Student:
pass
55 lấy các phương thức get, set và delete làm đối số và trả về một đối tượng của lớp class Student:
pass
57Ví dụ sau minh họa cách tạo một thuộc tính trong Python bằng cách sử dụng hàm
class Student:
pass
55Ví dụ. tài sản[]
Sao chépclass :
.
.
8Trong ví dụ trên,
class Student:
pass
59 trả về đối tượng thuộc tính và gán nó cho class Student:
pass
50. Do đó, thuộc tính class Student:
pass
50 ẩn class Student:
pass
82. Thuộc tính class Student:
pass
50 được truy cập trực tiếp, nhưng bên trong nó sẽ gọi phương thức class Student:
pass
84 hoặc class Student:
pass
85, như hình bên dướiVí dụ. tài sản[]
Sao chépclass :
.
.
9Bạn nên sử dụng trình trang trí thuộc tính thay vì phương thức
class Student:
pass
55phương pháp lớp
Bạn có thể định nghĩa bao nhiêu phương thức tùy thích trong một lớp bằng cách sử dụng từ khóa
class Student:
pass
87. Mỗi phương thức phải có tham số đầu tiên, thường được đặt tên là class Student:
pass
25, tham chiếu đến phiên bản gọiVí dụ. phương pháp lớp
Sao chépclass Student:
pass
0class Student:
pass
89 chỉ là một tên quy ước cho đối số đầu tiên của một phương thức trong lớp. Một phương thức được định nghĩa là class :
.
.
00 nên được gọi là class :
.
.
01 cho đối tượng class :
.
.
02 của lớpPhương thức lớp trên có thể được gọi như một hàm bình thường, như hình bên dưới
Ví dụ. phương pháp lớp
Sao chépclass Student:
pass
1Tham số đầu tiên của phương thức không cần đặt tên là
class Student:
pass
25. Bạn có thể đặt bất kỳ tên nào đề cập đến thể hiện của phương thức gọi. Phương thức class :
.
.
04 sau đây đặt tên cho tham số đầu tiên là class :
.
.
05 thay vì class Student:
pass
25 và nó hoạt động hoàn toàn tốtVí dụ. phương pháp lớp
Sao chépclass Student:
pass
2Định nghĩa một phương thức trong lớp mà không có tham số
class Student:
pass
25 sẽ tạo ra một ngoại lệ khi gọi một phương thứcVí dụ. phương pháp lớp
Sao chépclass Student:
pass
3class Student:
pass
4Phương thức có thể truy cập các thuộc tính của cá thể bằng cách sử dụng tham số
class Student:
pass
25Ví dụ. phương pháp lớp
Sao chépclass Student:
pass
5Bây giờ bạn có thể gọi phương thức, như hình bên dưới
Ví dụ. Gọi một phương thức
Sao chépclass Student:
pass
6Xóa thuộc tính, đối tượng, lớp
Bạn có thể xóa các thuộc tính, đối tượng hoặc chính lớp đó bằng cách sử dụng từ khóa
class :
.
.
09, như minh họa bên dưới