Gần đây tôi muốn tìm hiểu thêm về các lớp Python, đây là một khái niệm cốt lõi của các ngôn ngữ lập trình hướng đối tượng. Trong khi đọc các bài viết hướng dẫn đã cho tôi một cái nhìn tổng thể về các lớp là gì và chúng hoạt động như thế nào, tôi có thể nói rằng tôi đã không thực sự nhớ được nội dung của các bài hướng dẫn mà tôi đã trải qua.
Các định nghĩa và ví dụ dường như quá trừu tượng và tôi không thể hình dung ra nhu cầu sử dụng các lớp của riêng mình trong khi sử dụng một ngôn ngữ đã có rất nhiều gói và thư viện làm sẵn đáp ứng 99% nhu cầu chung của bạn với tư cách là một lập trình viên sử dụng Python để làm việc
Sau đó, tôi quyết định tìm kiếm một phương pháp học tập dựa trên dự án và tôi tình cờ tìm thấy Dự án tính toán khoa học với Python của FreeCodeCamp mà tôi đã hoàn thành trong năm nay. 3 trong số 5 dự án này là dựa trên lớp học và do đó có vẻ hoàn hảo để giải quyết các mục tiêu học tập của tôi
Sau đây là tổng quan ngắn gọn về những gì sẽ xảy ra nếu bạn quyết định chuyển sang phương pháp tiếp cận dựa trên dự án để học các lớp thông qua 3 dự án này. Nó làm việc kỳ diệu cho tôi và hy vọng nó cũng sẽ hữu ích cho bạn
Các dự ánTrọng tâm của các thách thức [thành thật mà nói, chúng khép kín hơn các dự án chính thức, và do đó, cái tên “thử thách” cảm thấy phù hợp hơn ở đây] xoay quanh việc xây dựng các phần chức năng khép kín [i. e. Các đối tượng Python hiển thị một bộ tính năng nhất định và cho phép tính toán bằng số hoặc biểu diễn bằng hình ảnh] thay vì xây dựng một quy trình công việc lớn. Về vấn đề này, quá trình thiết lập không quá khác biệt so với các thử thách mã hóa cổ điển, mặc dù những thử thách này có thể dài hơn một chút.
Mỗi thử thách được kiểm tra dựa trên các bài kiểm tra đơn vị khác nhau, thách thức mã của bạn trong các điều kiện khác nhau
Điều này không khác biệt nhiều so với công việc mà một lập trình viên Python sẽ thấy mình thực hiện một lần trong một dự án, nơi bạn có khả năng được yêu cầu xác định các đối tượng tùy chỉnh của riêng mình sẽ được điều chỉnh cho phù hợp với vấn đề hiện tại, có thể do mã nguồn mở khác
Các dự án dựa trên Python “thuần túy”, hầu như không cần thư viện bên ngoài. Dự án số 2 là dự án duy nhất nếu bạn sẽ sử dụng các gói sao chép và ngẫu nhiên [được khuyến nghị, không bắt buộc]
1. ứng dụng ngân sáchBiểu tượng ngân sách được thiết kế bởi Freepik
Ghi bàn. “Tạo một lớp Ngân sách có thể khởi tạo các đối tượng dựa trên các danh mục ngân sách khác nhau như thực phẩm, quần áo và giải trí. Các đối tượng này sẽ cho phép gửi và rút tiền từ mỗi danh mục, cũng như tính toán số dư danh mục và chuyển số dư giữa các danh mục”
cân nhắc. đây là một dự án rất thú vị vì nó không chỉ cho phép hiểu cách một lớp được khởi tạo và sử dụng mà còn được biểu diễn và sử dụng làm đầu vào cho các chức năng khác. Bạn sẽ học cách thêm các phương thức vào các lớp của mình và in chúng theo cách cho phép biểu diễn phức tạp đối tượng lớp của bạn tại các điểm khác nhau trong chương trình. Như một phần thưởng, bạn sẽ xác định một hàm tính toán số tiền bạn đang chi tiêu cho các danh mục lớp dưới dạng % tổng chi phí của bạn, một chức năng có thể rất hữu ích cho những lập trình viên hiểu biết về tiền bạc trong số bạn
Tiếp cận. xác định mục đích và tính linh hoạt của một đối tượng lớp;
Ý chính. Khởi tạo lớp, phương thức cá thể và biểu diễn cá thể. Định nghĩa và sử dụng các hàm lấy các thể hiện của lớp làm tham số đầu vào
Biểu tượng hình học được thiết kế bởi Freepik
Ghi bàn. “Tạo các đối tượng lớp và lớp con đại diện cho các hình dạng hình học khác nhau, chẳng hạn như Hình chữ nhật và Hình vuông”
cân nhắc. đây là dự án hoàn hảo để hiểu cách các lớp có thể phát triển mối quan hệ dưới dạng chia sẻ các phương thức lớp. Những mối quan hệ như vậy sẽ được chuyển tải thông qua việc sử dụng hình học. Điểm nổi bật chính là hiểu rằng Python là một ngôn ngữ linh hoạt mà bạn có thể xác định các đối tượng tùy chỉnh của riêng mình, có chức năng và tính năng [phương thức lớp] có thể được chia sẻ với các đối tượng tương tự khác
Tiếp cận. biểu diễn các hình dạng hình học dưới dạng các lớp và cung cấp cho chúng khả năng tính toán các phép tính hình học thông thường dưới dạng các phương thức lớp. Tận dụng mối quan hệ cha/con của lớp để mở rộng chức năng của lớp
Ý chính. Khởi tạo lớp, phương thức cá thể và biểu diễn cá thể. Kế thừa lớp
3. Máy tính xác suấtBiểu tượng xổ số được thiết kế bởi Biểu tượng phẳng
Ghi bàn. “Tạo một quả bóng xổ số, hoặc Chiếc mũ, có một số lượng đối số khác nhau chỉ định số lượng quả bóng của mỗi màu có trong chiếc mũ. Cung cấp cho đối tượng khả năng chọn một số lượng bóng ngẫu nhiên từ chiếc mũ, sau đó sẽ được sử dụng để tính xác suất chọn một phân phối bóng nhất định trong một số lượng lớn các thí nghiệm.”
cân nhắc. dự án này nằm ở giao điểm của xác suất và tạo lớp. Sử dụng đối tượng Lớp làm đầu vào để mô hình hóa đầu ra xác suất sẽ cho phép hiểu rõ về cách các lớp python có thể được sử dụng lặp đi lặp lại để ước tính xác suất sự kiện. Dự án cũng giới thiệu ý tưởng tạo các lớp sẵn sàng xử lý một số đối số đầu vào động.
Tiếp cận. tạo đối tượng lớp và sử dụng nó để thiết lập một thử nghiệm xác suất trong đó đối tượng lớp sẽ liên tục được sử dụng để tìm nạp và ghi lại kết quả xổ số
Ý chính. Khởi tạo lớp với số lượng biến đối số, phương thức cá thể và biểu diễn cá thể. Sử dụng các lớp để tính toán các thí nghiệm xác suất. nhân bản lớp
Tóm tắt và các bước tiếp theoNhững dự án này khiến tôi vô cùng hào hứng khi làm việc với các lớp Python vì chúng giúp tôi hiểu được sức mạnh thực sự và tính linh hoạt của việc xác định các đối tượng và đặc điểm hành vi của riêng bạn
Tiếp xúc trực tiếp với các khái niệm lớp cơ bản sẽ cho phép bạn phát triển trực giác vững chắc về các khái niệm này hơn là đọc một cách thụ động qua một vài bài báo hướng dẫn
Nếu bạn thích các dự án FreeCodeCamp, tôi cũng đề xuất các thử thách Phân tích dữ liệu với Python của họ, mà tôi cũng đã viết trong bài viết dưới đây