Nhận tất cả các lớp con python
Tại một số thời điểm trong cuộc phiêu lưu mã hóa Python của bạn, bạn có thể cần tạo các lớp giống như danh sách tùy chỉnh với hành vi được sửa đổi, chức năng mới hoặc cả hai. Để làm điều này trong Python, bạn có thể kế thừa từ một lớp cơ sở trừu tượng, phân lớp trực tiếp lớp 3 tích hợp sẵn hoặc kế thừa từ 4, nằm trong mô-đun 5 Show
Trong hướng dẫn này, bạn sẽ học cách
Bạn cũng sẽ viết một số ví dụ giúp bạn quyết định lớp cha nào, 3 hoặc 4, sẽ sử dụng khi tạo các lớp danh sách tùy chỉnh của bạnĐể tận dụng tối đa hướng dẫn này, bạn nên làm quen với lớp 3 tích hợp sẵn của Python và các tính năng tiêu chuẩn của nó. Bạn cũng sẽ cần biết kiến thức cơ bản về lập trình hướng đối tượng và hiểu cách hoạt động của tính kế thừa trong PythonTải xuống miễn phí. Nhấp vào đây để tải xuống mã nguồn mà bạn sẽ sử dụng để tạo các lớp giống như danh sách tùy chỉnh Tạo các lớp giống như danh sách trong PythonLớp 3 tích hợp là một kiểu dữ liệu cơ bản trong Python. Danh sách hữu ích trong nhiều tình huống và có rất nhiều trường hợp sử dụng thực tế. Trong một số trường hợp sử dụng này, chức năng tiêu chuẩn của Python 3 có thể không đủ và bạn có thể cần tạo các lớp giống như danh sách tùy chỉnh để giải quyết vấn đề hiện tạiThông thường, bạn sẽ tìm thấy ít nhất hai lý do để tạo các lớp giống như danh sách tùy chỉnh
Bạn cũng có thể đối mặt với các tình huống mà bạn cần mở rộng và sửa đổi chức năng tiêu chuẩn của danh sách Tùy thuộc vào nhu cầu cụ thể và trình độ kỹ năng của bạn, bạn có thể sử dụng một số chiến lược để tạo các lớp giống như danh sách tùy chỉnh của riêng mình. Bạn có thể
Ghi chú. Trong lập trình hướng đối tượng, thông thường người ta sử dụng các động từ inherit và subclass thay thế cho nhau Có một số cân nhắc khi bạn chọn chiến lược phù hợp để sử dụng. Tiếp tục đọc để biết thêm chi tiết Loại bỏ các quảng cáoXây dựng một lớp giống như danh sách từ một lớp cơ sở trừu tượngBạn có thể tạo các lớp dạng danh sách của riêng mình bằng cách kế thừa từ một lớp cơ sở trừu tượng thích hợp (ABC), chẳng hạn như 14. ABC này cung cấp các triển khai chung của hầu hết các phương thức 3 ngoại trừ 0, 1, 2, 3 và 4. Vì vậy, khi kế thừa từ lớp này, bạn sẽ phải tự thực hiện các phương thức nàyViết triển khai của riêng bạn cho tất cả các phương thức đặc biệt này là một khối lượng công việc khá lớn. Nó dễ bị lỗi và yêu cầu kiến thức nâng cao về Python và mô hình dữ liệu của nó. Nó cũng có thể ngụ ý các vấn đề về hiệu suất vì bạn sẽ viết các phương thức bằng Python thuần túy Ngoài ra, giả sử bạn cần tùy chỉnh chức năng của bất kỳ phương pháp danh sách tiêu chuẩn nào khác, như 5 hoặc 4. Trong trường hợp đó, bạn sẽ phải ghi đè cách triển khai mặc định và cung cấp cách triển khai phù hợp đáp ứng nhu cầu của bạnƯu điểm chính của chiến lược tạo các lớp giống như danh sách này là lớp ABC gốc sẽ cảnh báo bạn nếu bạn bỏ lỡ bất kỳ phương thức cần thiết nào trong triển khai tùy chỉnh của mình Nói chung, bạn chỉ nên áp dụng chiến lược này nếu bạn cần một lớp giống như danh sách về cơ bản khác với lớp 3 tích hợpTrong hướng dẫn này, bạn sẽ tập trung vào việc tạo các lớp dạng danh sách bằng cách kế thừa từ lớp 3 tích hợp sẵn và lớp 4 từ mô-đun 5 của thư viện tiêu chuẩn. Những chiến lược này dường như là những chiến lược nhanh nhất và thiết thực nhấtKế thừa từ lớp >>> from string_list import StringList >>> data = StringList([1, 2, 2, 4, 5]) >>> data ['1', '2', '2', '4', '5'] >>> data.append(6) >>> data ['1', '2', '2', '4', '5', '6'] >>> data.insert(0, 0) >>> data ['0', '1', '2', '2', '4', '5', '6'] >>> data.extend([7, 8, 9]) >>> data ['0', '1', '2', '2', '4', '5', '6', '7', '8', '9'] >>> data[3] = 3 >>> data ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] 3 tích hợp sẵn của PythonTrong một thời gian dài, không thể kế thừa trực tiếp từ các kiểu Python được triển khai trong C. Trăn 2. 2 đã khắc phục sự cố này. Bây giờ bạn có thể phân lớp các loại dựng sẵn, bao gồm 3. Sự thay đổi này đã mang lại một số lợi thế kỹ thuật cho các lớp con bởi vì bây giờ chúng
Mục đầu tiên trong danh sách này có thể là một yêu cầu đối với mã C mong đợi một lớp tích hợp Python. Mục thứ hai cho phép bạn thêm chức năng mới vào đầu hành vi danh sách tiêu chuẩn. Cuối cùng, mục thứ ba sẽ cho phép bạn hạn chế các thuộc tính của một lớp con chỉ với những thuộc tính được xác định trước trong 03Để bắt đầu mọi thứ và bắt đầu tạo các lớp giống như danh sách tùy chỉnh, hãy nói rằng bạn cần một danh sách tự động lưu trữ tất cả các mục của nó dưới dạng chuỗi. Giả sử rằng danh sách tùy chỉnh của bạn sẽ chỉ lưu trữ các số dưới dạng chuỗi, bạn có thể tạo lớp con sau của 3 4Lớp 07 của bạn trực tiếp phân lớp 3, có nghĩa là nó sẽ kế thừa tất cả các chức năng của một lớp Python tiêu chuẩn 3. Bởi vì bạn muốn danh sách của mình lưu trữ các mục dưới dạng chuỗi, bạn cần sửa đổi tất cả các phương pháp thêm hoặc sửa đổi các mục trong danh sách cơ bản. Những phương pháp đó bao gồm những điều sau đây
Các phương thức khác mà lớp 07 của bạn kế thừa từ 3 chỉ hoạt động tốt vì chúng không thêm hoặc cập nhật các mục trong danh sách tùy chỉnh của bạnGhi chú. Nếu bạn muốn lớp 07 của mình hỗ trợ nối với toán tử cộng ( 89), thì bạn cũng cần triển khai các phương thức đặc biệt khác, chẳng hạn như 80, 81 và 82Để sử dụng 07 trong mã của bạn, bạn có thể làm điều gì đó như thế này>>>
Lớp học của bạn hoạt động như mong đợi. Nó chuyển đổi tất cả các giá trị đầu vào thành chuỗi một cách nhanh chóng. Điều đó thật tuyệt, phải không? Khi bạn nối thêm, chèn, mở rộng hoặc gán giá trị mới cho các thể hiện của lớp, các phương thức hỗ trợ từng thao tác sẽ xử lý quá trình chuyển đổi chuỗi. Bằng cách này, danh sách của bạn sẽ luôn lưu trữ các mục của nó dưới dạng đối tượng chuỗi Loại bỏ các quảng cáoPhân lớp >>> from string_list import StringList >>> data = StringList([1, 2, 2, 4, 5]) >>> data ['1', '2', '2', '4', '5'] >>> data.append(6) >>> data ['1', '2', '2', '4', '5', '6'] >>> data.insert(0, 0) >>> data ['0', '1', '2', '2', '4', '5', '6'] >>> data.extend([7, 8, 9]) >>> data ['0', '1', '2', '2', '4', '5', '6', '7', '8', '9'] >>> data[3] = 3 >>> data ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] 4 Từ >>> from string_list import StringList >>> data = StringList([1, 2, 2, 4, 5]) >>> data ['1', '2', '2', '4', '5'] >>> data.append(6) >>> data ['1', '2', '2', '4', '5', '6'] >>> data.insert(0, 0) >>> data ['0', '1', '2', '2', '4', '5', '6'] >>> data.extend([7, 8, 9]) >>> data ['0', '1', '2', '2', '4', '5', '6', '7', '8', '9'] >>> data[3] = 3 >>> data ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] 5Một cách khác để tạo một lớp giống như danh sách tùy chỉnh là sử dụng lớp 4 từ mô-đun 5. Lớp này là một trình bao bọc xung quanh loại 3 tích hợp. Nó được thiết kế để tạo các đối tượng giống như danh sách khi không thể kế thừa trực tiếp từ lớp 3 tích hợpMặc dù nhu cầu về lớp này đã được thay thế một phần bằng khả năng phân lớp trực tiếp lớp 3 tích hợp sẵn, nhưng 4 vẫn có sẵn trong thư viện chuẩn, cả về sự tiện lợi và khả năng tương thích ngượcTính năng phân biệt của 4 là nó cho phép bạn truy cập vào thuộc tính 34 của nó, thuộc tính này có thể tạo thuận lợi cho việc tạo danh sách tùy chỉnh của bạn vì bạn không cần phải sử dụng 35 mọi lúc. Thuộc tính 34 giữ một Python 3 thông thường, theo mặc định là trốngĐây là cách bạn có thể triển khai lại lớp 07 của mình bằng cách kế thừa từ 4 1Trong ví dụ này, việc có quyền truy cập vào thuộc tính 34 cho phép bạn viết mã lớp theo cách đơn giản hơn bằng cách sử dụng ủy quyền, điều đó có nghĩa là danh sách trong 34 đảm nhiệm việc xử lý tất cả các yêu cầuBây giờ bạn gần như không phải sử dụng các công cụ nâng cao như 35. Bạn chỉ cần gọi hàm này trong trình khởi tạo lớp để tránh sự cố trong các tình huống kế thừa tiếp theo. Trong các phương thức còn lại, bạn chỉ cần tận dụng lợi thế của 34, chứa danh sách Python thông thường. Làm việc với danh sách là một kỹ năng mà bạn có thể đã cóGhi chú. Trong ví dụ trên, bạn sẽ ổn nếu bạn sử dụng lại triển khai nội bộ ban đầu của 07 từ phần trước nhưng thay đổi lớp cha từ 3 thành 4. Mã của bạn sẽ hoạt động như cũ. Tuy nhiên, sử dụng 34 có thể tạo thuận lợi cho quá trình mã hóa các lớp giống như danh sáchPhiên bản mới này hoạt động giống như phiên bản đầu tiên của 07. Hãy tiếp tục và chạy đoạn mã sau để dùng thử>>>
Hiển thị 34 là tính năng phù hợp nhất của 4, như bạn đã biết. Thuộc tính này có thể đơn giản hóa các lớp của bạn vì bạn không cần phải sử dụng 35 mọi lúc. Bạn chỉ có thể tận dụng lợi thế của 34 và sử dụng giao diện 3 quen thuộc để làm việc với thuộc tính nàyMã hóa các lớp giống như danh sách. Ví dụ thực tếBạn đã biết cách sử dụng 3 và 4 khi bạn cần tạo các lớp giống như danh sách tùy chỉnh để thêm hoặc sửa đổi chức năng tiêu chuẩn của 3Phải thừa nhận rằng, khi bạn nghĩ đến việc tạo một lớp giống như danh sách, việc kế thừa từ 3 có vẻ tự nhiên hơn là kế thừa từ 4 vì các nhà phát triển Python biết về 3. Họ có thể không biết về sự tồn tại của 4Bạn cũng biết rằng sự khác biệt chính giữa hai lớp này là khi bạn kế thừa từ 4, bạn có quyền truy cập vào thuộc tính 34, đây là một danh sách thông thường mà bạn có thể thao tác thông qua giao diện 3 tiêu chuẩn. Ngược lại, kế thừa từ 3 yêu cầu kiến thức nâng cao về mô hình dữ liệu của Python, bao gồm các công cụ như hàm 35 tích hợp và một số phương thức đặc biệtTrong các phần sau, bạn sẽ viết mã một số ví dụ thực tế bằng cách sử dụng cả hai lớp. Sau khi viết những ví dụ này, bạn sẽ chuẩn bị tốt hơn để chọn công cụ phù hợp để sử dụng khi bạn cần xác định các lớp giống như danh sách tùy chỉnh trong mã của mình Danh sách chỉ chấp nhận dữ liệu sốNhư một ví dụ đầu tiên về việc tạo một lớp giống như danh sách với hành vi tùy chỉnh, giả sử rằng bạn cần một danh sách chỉ chấp nhận dữ liệu số. Danh sách của bạn chỉ nên lưu trữ số nguyên, số thực và số phức. Nếu bạn cố lưu trữ giá trị của bất kỳ loại dữ liệu nào khác, chẳng hạn như chuỗi, thì danh sách của bạn sẽ tăng 06Đây là triển khai của lớp 07 với chức năng mong muốn 0Trong ví dụ này, lớp 07 của bạn kế thừa trực tiếp từ lớp 3. Điều này có nghĩa là lớp của bạn chia sẻ tất cả chức năng cốt lõi với lớp 3 được tích hợp sẵn. Bạn có thể lặp lại các phiên bản của 07, truy cập và cập nhật các mục của nó bằng chỉ mục của chúng, gọi các phương thức chung của 3, v.v.Bây giờ, để đảm bảo rằng mọi mục đầu vào đều là một số, bạn cần xác thực từng mục trong tất cả các phương thức hỗ trợ thao tác thêm mục mới hoặc cập nhật mục hiện có trong danh sách. Các phương thức bắt buộc giống như trong ví dụ 07 trong phần Kế thừa từ lớp 3 tích hợp sẵn của PythonĐể xác thực dữ liệu đầu vào, bạn sử dụng phương thức trợ giúp có tên là 15. Phương pháp này sử dụng hàm 16 tích hợp để kiểm tra xem giá trị đầu vào hiện tại có phải là phiên bản của 17, 18 hoặc 19 hay không, là các lớp tích hợp đại diện cho các giá trị số trong PythonGhi chú. Một cách tổng quát hơn để kiểm tra xem một giá trị có phải là số trong Python hay không là sử dụng 20 từ mô-đun 21. Điều này cũng sẽ cho phép bạn xác thực các đối tượng 22 và 23Nếu giá trị đầu vào là một thể hiện của kiểu dữ liệu số, thì hàm trợ giúp của bạn sẽ trả về chính giá trị đó. Nếu không, hàm sẽ đưa ra một ngoại lệ 06 với thông báo lỗi thích hợpĐể sử dụng 07, hãy quay lại phiên tương tác của bạn và chạy đoạn mã sau>>> 8Trong các ví dụ này, các thao tác thêm hoặc sửa đổi dữ liệu trong 21 sẽ tự động xác thực đầu vào để đảm bảo rằng chỉ các giá trị số được chấp nhận. Nếu bạn thêm một giá trị chuỗi vào 21, thì bạn sẽ nhận được một 06Một triển khai thay thế của 07 bằng cách sử dụng 4 có thể giống như thế này 8Trong triển khai mới này của 07, bạn kế thừa từ 4. Một lần nữa, lớp học của bạn sẽ chia sẻ tất cả các chức năng cốt lõi với một 3 thông thườngTrong ví dụ này, thay vì sử dụng 35 mọi lúc để truy cập các phương thức và thuộc tính trong lớp cha, bạn sử dụng trực tiếp thuộc tính 34. Ở một mức độ nào đó, việc sử dụng 34 được cho là đơn giản hóa mã của bạn so với việc sử dụng 35 và các công cụ nâng cao khác như các phương thức đặc biệtLưu ý rằng bạn chỉ sử dụng 35 trong trình khởi tạo lớp, 39. Đây là cách thực hành tốt nhất khi bạn làm việc với tính kế thừa trong Python. Nó cho phép bạn khởi tạo đúng các thuộc tính trong lớp cha mà không làm hỏng mọi thứLoại bỏ các quảng cáoDanh sách có chức năng bổ sungBây giờ, giả sử rằng bạn cần một lớp giống như danh sách với tất cả các chức năng tiêu chuẩn của một 3 Python thông thường. Lớp của bạn cũng nên cung cấp một số chức năng bổ sung mượn từ kiểu dữ liệu Array của JavaScript. Ví dụ: bạn sẽ cần có các phương thức như sau
Đây là một lớp triển khai tất cả các tính năng mới này bằng cách phân lớp 3 3Phương thức 41 trong 51 lấy một ký tự phân cách làm đối số và sử dụng nó để nối các mục trong đối tượng danh sách hiện tại, được đại diện bởi 52. Để làm điều này, bạn sử dụng 53 với biểu thức trình tạo làm đối số. Biểu thức trình tạo này chuyển đổi mọi mục thành đối tượng chuỗi bằng cách sử dụng 54Phương thức 55 trả về một đối tượng 51. Để xây dựng đối tượng này, bạn sử dụng biểu thức trình tạo áp dụng 43 cho mọi mục trong đối tượng hiện tại, 52. Lưu ý rằng hành động có thể là bất kỳ khả năng gọi nào lấy một mục làm đối số và trả về một mục đã chuyển đổiPhương thức 59 cũng trả về một đối tượng 51. Để xây dựng đối tượng này, bạn sử dụng biểu thức trình tạo tạo ra các mục mà 46 trả về 45. Trong trường hợp này, 46 phải là hàm có giá trị Boolean trả về 45 hoặc 65 tùy thuộc vào các điều kiện nhất định được áp dụng cho mục đầu vàoCuối cùng, phương thức 66 gọi 48 trên mọi mục trong danh sách cơ bản. Cuộc gọi này không trả lại bất cứ điều gì nhưng gây ra một số tác dụng phụ, như bạn sẽ thấy bên dướiĐể sử dụng lớp này trong mã của bạn, bạn có thể làm như sau >>> 63Trong những ví dụ này, trước tiên bạn gọi 41 trên 69. Phương thức này trả về một chuỗi duy nhất là kết quả của việc nối tất cả các mục trong danh sách bên dướiCuộc gọi đến 55 trả về một đối tượng 51 chứa các từ viết hoa. Sự chuyển đổi này là kết quả của việc áp dụng 72 cho tất cả các mục trong 69. Phương thức này hoạt động khá giống với hàm 74 tích hợp. Sự khác biệt chính là thay vì trả về một danh sách, hàm 74 tích hợp trả về một trình vòng lặp mang lại các mục được chuyển đổi một cách lười biếngPhương thức 59 lấy hàm 77 làm đối số. Trong ví dụ, hàm 77 này sử dụng 79 để chọn những từ bắt đầu bằng tiền tố 80. Lưu ý rằng phương thức này hoạt động tương tự như hàm 81 tích hợp sẵn, trả về một trình vòng lặp thay vì một danh sáchCuối cùng, cuộc gọi đến 66 trên 69 in mọi từ lên màn hình như một tác dụng phụ của việc gọi 84 trên mỗi mục trong danh sách cơ bản. Lưu ý rằng hàm được truyền tới 66 sẽ lấy một mục làm đối số nhưng không được trả về bất kỳ giá trị hiệu quả nàoBạn cũng có thể triển khai 51 bằng cách kế thừa từ 4 thay vì từ 3. Trong trường hợp này, bạn không cần thay đổi cài đặt nội bộ, chỉ thay đổi lớp cơ sở 85Lưu ý rằng trong ví dụ này, bạn vừa thay đổi lớp cha. Không cần sử dụng trực tiếp 34. Tuy nhiên, bạn có thể sử dụng nó nếu bạn muốn. Ưu điểm là bạn sẽ cung cấp thêm ngữ cảnh cho các nhà phát triển khác đọc mã của bạn 0Trong phiên bản mới này của 90, thay đổi duy nhất là bạn đã thay thế 52 bằng 92 để làm rõ rằng bạn đang làm việc với một phân lớp 4. Thay đổi này làm cho mã của bạn rõ ràng hơnLoại bỏ các quảng cáoXem xét hiệu suất. >>> from string_list import StringList >>> data = StringList([1, 2, 2, 4, 5]) >>> data ['1', '2', '2', '4', '5'] >>> data.append(6) >>> data ['1', '2', '2', '4', '5', '6'] >>> data.insert(0, 0) >>> data ['0', '1', '2', '2', '4', '5', '6'] >>> data.extend([7, 8, 9]) >>> data ['0', '1', '2', '2', '4', '5', '6', '7', '8', '9'] >>> data[3] = 3 >>> data ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] 3 đấu với >>> from string_list import StringList >>> data = StringList([1, 2, 2, 4, 5]) >>> data ['1', '2', '2', '4', '5'] >>> data.append(6) >>> data ['1', '2', '2', '4', '5', '6'] >>> data.insert(0, 0) >>> data ['0', '1', '2', '2', '4', '5', '6'] >>> data.extend([7, 8, 9]) >>> data ['0', '1', '2', '2', '4', '5', '6', '7', '8', '9'] >>> data[3] = 3 >>> data ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] 4Cho đến thời điểm này, bạn đã học cách tạo các lớp giống như danh sách của riêng mình bằng cách kế thừa từ 3 hoặc 4. Bạn cũng biết rằng sự khác biệt duy nhất có thể nhìn thấy giữa hai lớp này là 4 hiển thị thuộc tính 34, điều này có thể tạo thuận lợi cho quá trình viết mãTrong phần này, bạn sẽ xem xét một khía cạnh có thể quan trọng khi quyết định nên sử dụng 3 hay 4 để tạo các lớp giống như danh sách tùy chỉnh của bạn. Đó là hiệu suấtĐể đánh giá xem có sự khác biệt về hiệu suất giữa các lớp kế thừa từ 3 so với 4 hay không, bạn sẽ sử dụng lớp 07. Hãy tiếp tục và tạo một tệp Python mới chứa đoạn mã sau 1Hai lớp này hoạt động như nhau. Tuy nhiên, chúng khác nhau ở bên trong. 105 kế thừa từ 3 và việc triển khai của nó dựa trên 35. Ngược lại, 108 kế thừa từ 4 và việc triển khai của nó dựa trên thuộc tính nội bộ 34Để so sánh hiệu suất của hai lớp này, bạn nên bắt đầu bằng cách tính thời gian cho các thao tác danh sách tiêu chuẩn, chẳng hạn như khởi tạo. Tuy nhiên, trong các ví dụ này, cả hai trình khởi tạo đều tương đương nhau, vì vậy chúng phải hoạt động giống nhau Đo thời gian thực hiện các chức năng mới cũng hữu ích. Ví dụ: bạn có thể kiểm tra thời gian thực hiện của 85. Hãy tiếp tục và chạy đoạn mã sau>>> 2Trong bài kiểm tra hiệu năng này, bạn sử dụng mô-đun 112 cùng với hàm 113 để đo thời gian thực thi của một đoạn mã. Mã mục tiêu bao gồm các lệnh gọi tới 85 trên các phiên bản của 105 và 108 sử dụng một số dữ liệu mẫuSự khác biệt về hiệu suất giữa lớp dựa trên 3 và lớp dựa trên 4 hầu như không tồn tại trong ví dụ nàyThông thường, khi bạn tạo một lớp giống như danh sách tùy chỉnh, bạn sẽ mong đợi các lớp con của 3 hoạt động tốt hơn các lớp con của 4. Tại sao? Tuy nhiên, trong ví dụ trên, có vẻ như giả định này không hoàn toàn đúng. Vì lý do này, để quyết định siêu lớp nào là tốt nhất cho trường hợp sử dụng cụ thể của bạn, hãy đảm bảo chạy thử nghiệm hiệu suất Bỏ qua hiệu suất, kế thừa từ 3 được cho là cách tự nhiên trong Python, chủ yếu là do 3 có sẵn trực tiếp cho các nhà phát triển Python dưới dạng một lớp tích hợp. Ngoài ra, hầu hết các nhà phát triển Python sẽ quen thuộc với các danh sách và các tính năng tiêu chuẩn của chúng, điều này sẽ cho phép họ viết các lớp giống như danh sách nhanh hơnNgược lại, lớp 4 nằm trong mô-đun 5, nghĩa là bạn sẽ phải nhập nó nếu muốn sử dụng nó trong mã của mình. Ngoài ra, không phải tất cả các nhà phát triển Python đều biết về sự tồn tại của 4. Tuy nhiên, 4 vẫn có thể là một công cụ hữu ích vì sự thuận tiện khi truy cập thuộc tính 34, điều này có thể tạo điều kiện thuận lợi cho việc tạo các lớp giống như danh sách tùy chỉnhPhần kết luậnBây giờ bạn đã học cách tạo các lớp giống như danh sách tùy chỉnh với các hành vi mới và được sửa đổi. Để thực hiện việc này, bạn đã trực tiếp phân lớp con lớp 3 tích hợp sẵn. Thay vào đó, bạn cũng đã kế thừa từ lớp 4, có sẵn trong mô-đun 5Kế thừa từ 3 và phân lớp 4 đều là những chiến lược phù hợp để tiếp cận vấn đề tạo các lớp giống như danh sách của riêng bạn trong PythonTrong hướng dẫn này, bạn đã học cách
Bây giờ bạn đã chuẩn bị tốt hơn để tạo danh sách tùy chỉnh của riêng mình, cho phép bạn tận dụng toàn bộ sức mạnh của loại dữ liệu phổ biến và hữu ích này trong Python Tải xuống miễn phí. Nhấp vào đây để tải xuống mã nguồn mà bạn sẽ sử dụng để tạo các lớp giống như danh sách tùy chỉnh Đánh dấu là đã hoàn thành 🐍 Thủ thuật Python 💌 Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python Gửi cho tôi thủ thuật Python » Giới thiệu về Leodanis Pozo Ramos Leodanis là một kỹ sư công nghiệp yêu thích Python và phát triển phần mềm. Anh ấy là một nhà phát triển Python tự học với hơn 6 năm kinh nghiệm. Anh ấy là một nhà văn đam mê kỹ thuật với số lượng bài báo được xuất bản ngày càng tăng trên Real Python và các trang web khác Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là Aldren Bartosz Geir Arne kate Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bậc thầy Kỹ năng Python trong thế giới thực Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bạn nghĩ sao? Đánh giá bài viết này Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì? Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi __ lớp __ trong Python là gì?__class__ là một thuộc tính trên đối tượng đề cập đến lớp mà đối tượng được tạo ra từ đó . một. __lớp__ # Đầu ra.
Chúng ta có thể kế thừa nhiều lớp trong Python không?Python hỗ trợ kế thừa từ nhiều lớp .
Super() hoạt động như thế nào trong Python?Hàm super() trong Python giúp kế thừa lớp dễ quản lý và mở rộng hơn. Hàm trả về một đối tượng tạm thời cho phép tham chiếu đến lớp cha bằng từ khóa super . Hàm super() có hai trường hợp sử dụng chính. Để tránh việc sử dụng lớp super (parent) một cách rõ ràng. |