Trước hết, câu hỏi quan trọng nhất cần trả lời là tại sao bạn muốn học Python?
Việc này sẽ hướng dẫn bạn sử dụng những nguồn tài nguyên nào để học và cách tiếp cận quá trình học.
Bắt đầu với một danh sách tài nguyên học Python phổ quát khi bạn muốn xây dựng trang web (ví dụ), không chỉ làm giảm động lực của bạn mà còn làm cho việc áp dụng kiến thức bạn học trở nên khó khăn hơn. Tôi đã thử học lập trình mà không có ngữ cảnh và ứng dụng, và tôi hầu như chưa bao giờ học được bất kỳ kỹ năng ý nghĩa nào.
Khi tôi học Python cách đây 3 năm, tôi muốn tạo ra các trang web. Việc học cách tốt nhất để làm điều này không phải là học cách tạo ra một số trang web.
1. Xác định Điều Gì Kích Thích Bạn
Việc xác định và duy trì động lực là chìa khóa quan trọng - tôi đã ngủ gật qua rất nhiều bài giảng trong lớp lập trình ở trung học vì nó buộc chúng tôi phải nhớ một loạt cú pháp. Ngược lại, khi tôi cần học Python để tạo một thuật toán đánh giá bài luận tự động, tôi thức trắng nhiều đêm để học và thử nghiệm.
Rất ít khi đào sâu vào khía cạnh động lực khi học - bạn thường chỉ được đưa ra một danh sách các bài hướng dẫn phổ quát để thử và được bảo rằng hãy tự mình làm. Nhưng điều tuyệt vời về Python là bạn có thể phát triển gần như bất cứ điều gì, từ ứng dụng di động đến trò chơi và các thuật toán máy học tiên tiến. Bất kỳ điều gì bạn quan tâm, bạn có thể xây dựng nó bằng Python, và luôn có một hướng dẫn bắt đầu tốt.
Chọn một hoặc hai lĩnh vực mà bạn quan tâm và theo đuổi chúng - bạn sẽ phát triển nhiều dự án trong các lĩnh vực này.
Dưới đây là một số lĩnh vực ví dụ, nhưng đừng ngần ngại thêm lĩnh vực của bạn:
- Trang web
- Ứng dụng di động
- Trò chơi
- Khoa học dữ liệu/Máy học
2. Học Một Số Cú Pháp Cơ Bản của Python
Chừng nào bạn không biết cú pháp cơ bản, việc triển khai bất cứ điều gì cũng trở nên khó khăn. Tuy nhiên, đừng dành quá nhiều thời gian cho điều này. Mục tiêu là học những điều cơ bản nhất để bạn biết đủ để bắt đầu làm việc vào các dự án của mình trong lĩnh vực quan tâm.
Ví dụ, tôi chỉ mất dưới một tuần để hoàn thành khoá học Codecademy, và đã qua khoảng 30% nội dung. Điều này đã đủ để bắt đầu một dự án.
Một số tài nguyên có thể giúp bạn:
- Codecademy - dạy rất tốt cú pháp cơ bản.
- Học lập trình bằng cách khó khăn - một cuốn sách giảng dạy nhiều khái niệm Python.
- Dataquest.io - đây là startup của tôi. Nó tập trung vào việc giảng dạy Python cho khoa học dữ liệu, nhưng cũng dạy tất cả cú pháp cơ bản.
- Hướng dẫn Python trên trang chính thức của Python.
Không thể nhấn mạnh đủ là bạn chỉ nên dành thời gian tối thiểu cần thiết ban đầu cho cú pháp cơ bản. Bạn càng nhanh chóng bắt đầu vào các dự án của mình, bạn sẽ học càng nhanh. Bạn có thể luôn tham khảo lại cú pháp khi gặp vấn đề sau này.
3. Tạo Các Dự Án Có Cấu Trúc trong Lĩnh Vực Bạn Chọn
Trừ khi bạn thực sự áp dụng kiến thức của mình, bạn sẽ không thể giữ lại nó tốt. Các dự án là một cách tuyệt vời để học vì chúng đẩy bạn ra khỏi khả năng, cho bạn biết cách áp dụng kỹ năng và tạo ra một hồ sơ để hiển thị cho nhà tuyển dụng trong tương lai.
Khi bắt đầu, có lợi khi có những dự án có cấu trúc hơn với một số hướng dẫn. Dưới đây là một số ý tưởng:
Trò chơi
- Codecademy - hướng dẫn bạn tạo ra một số trò chơi đơn giản.
- Hướng dẫn Pygame - thư viện pygame (thư viện python để tạo trò chơi) có một danh sách tốt về hướng dẫn.
- Làm trò chơi với Pygame - cuốn sách này có vẻ là một cách tốt để học Python bằng cách tạo ra trò chơi.
Trang web
- Hướng dẫn Flask - hướng dẫn chính thức của flask (framework web python đơn giản).
- Hướng dẫn Bottle - Hướng dẫn flask đơn giản hơn cho python.
- Cách Tango với Django 1.7 - hướng dẫn sử dụng django (framework web python phức tạp hơn).
Ứng dụng di động
- Hướng dẫn Kivy - Kivy là công cụ giúp bạn tạo ứng dụng di động với Python. Họ có một hướng dẫn về cách bắt đầu.
Khoa học dữ liệu
- Dataquest.io - Giúp bạn học Python và khoa học dữ liệu một cách tương tác. Bạn sẽ phân tích một loạt các bộ dữ liệu thú vị từ tài liệu CIA đến thống kê cầu thủ NBA.
- Tài liệu Scikit-learn - Scikit-learn (thư viện máy học chính cho Python) có tài liệu và hướng dẫn tốt.
- Python cho Phân Tích Dữ Liệu - do tác giả của thư viện phân tích dữ liệu Python hàng đầu (pandas) viết, đây là một sự giới thiệu tốt về việc phân tích dữ liệu trong Python.
4. Làm Việc Trên Các Dự Án Riêng Của Bạn
Khi bạn đã học các khái niệm theo cách hướng dẫn, đến lúc làm việc trên một số dự án của riêng bạn. Bạn vẫn cần tham khảo và tra cứu các khái niệm, nhưng bạn sẽ tích hợp những gì bạn học vào nhu cầu của dự án, không phải ngược lại.
Việc tìm người khác để làm việc cùng ở đây có thể giúp bạn học và duy trì động lực.
Một số ý tưởng:
- Mở rộng các dự án bạn đã làm và thêm nhiều chức năng hơn.
- Tham gia các buổi họp Python ở khu vực của bạn và tìm người đang làm việc trên các dự án thú vị.
- Tìm các gói mã nguồn mở để đóng góp
- Kiểm tra xem có tổ chức phi lợi nhuận nào đang tìm kiếm các nhà phát triển tình nguyện không.
5. Tiếp Tục Thách Thức Bản Thân với Các Dự Án Khó Khăn Hơn
Hãy tiếp tục tăng độ khó và phạm vi của các dự án của bạn. Nếu bạn cảm thấy thoải mái với những gì bạn đang xây dựng, điều đó có nghĩa là bạn cần thử thách bản thân với những dự án khó khăn hơn.
Một số ý tưởng:
- Thử giảng dạy người mới học cách thực hiện dự án hiện tại của bạn.
- Thử nghiệm hiệu suất trang web của bạn - liệu bạn có thể tăng cường hệ thống lên không
- Bạn có thể làm cho chương trình của mình chạy nhanh hơn không?
Cuối cùng, Python đang ngày càng phát triển và thay đổi. Có lẽ chỉ có một số người có thể khẳng định rằng họ hiểu đến Python một cách hoàn toàn. Bạn cần liên tục học và làm việc trên các dự án. Nếu bạn làm điều này đúng, bạn sẽ thấy mình nhìn lại mã nguồn của mình từ 6 tháng trước và nghĩ về cách nó kinh khủng. Nếu bạn đạt được điều này, bạn đang trên đúng đường.
Python là một ngôn ngữ lập trình rất thú vị và đáng học, và tôi tin rằng bất kỳ ai cũng có thể đạt được mức thành thạo cao nếu họ tìm thấy động lực đúng.