20 tài liệu lập trình Python cơ bản đến nâng cao hay nhất
Tags: python
Published: 2019-10-03 05:02:48

*Sorry, my English writing is not really good. But no worries, you can take the document just by searching its name.

Python là ngôn ngữ lập trình hướng đối tượng bậc cao, dùng để phát triển website và nhiều ứng dụng khác nhau. Python được tạo ra bởi Guido van Rossum và được phát triển trong một dự án mã mở (open source).

Với cú pháp cực kì đơn giản và thanh lịch, Python là lựa chọn hoàn hảo cho những ai lần đầu tiên học lập trình. Tuy nhiên, đây cũng là ngôn ngữ nổi tiếng về sự chặt chẽ, nhanh, mạnh, và có mặt ở mọi hệ điều hành.

Được sử dụng trong lập trình từ những game đơn giản nhất, cho đến những thuật toán tìm kiếm phức tạp nhất, Python không hổ danh là ngôn ngữ dành cho cả newbie lẫn hacker. 

Tại sao nên học lập trình Python?

- Dễ học

Code của Python dễ đọc, ngắn gọn (ngắn hơn code Java 3-5 lần, và C++ 5-10 lần).

Bước đệm để học các ngôn ngữ lập trình khác

Python là ngôn ngữ hướng đối tượng được ứng dụng rất đa dạng. Vì vậy, những hiểu biết về cấu trúc và kiến trúc Python sẽ là nền tảng tham chiếu rất tốt khi bạn muốn chuyển sang học các ngôn ngữ lập trình khác.

- Được trả lương cao

Cùng với Ruby, Python là ngôn ngữ lập trình giúp developer nhận mức lương cao thứ nhì (khoảng $107,000/năm) tại Mỹ.

- Thiết thực trong thiết kế web/ứng dụng web

Django, web framework được viết bởi Python sẽ khiến lập trình web trở nên đơn giản hơn, giúp code của bạn nhanh và ổn định hơn nhiều, đồng thời tiết kiệm hàng tấn thời gian lập trình.

- Là tương lai của trí tuệ nhân tạo

Nhờ tính linh hoạt của ngôn ngữ, tốc độ xử lý, và các tính năng Machine Learning được cung cấp bởi các libraries như scikit-learn, Keras, và TensorFlow.



CÁC TÀI LIỆU PYTHON HAY NHẤT

I. SÁCH PYTHON CƠ BẢN

1. Python cơ bản

Ebook Python tiếng Việt siêu cơ bản của Võ Tuấn Duy.

Bao gồm 15 chương, mỗi chương trình bày một khía cạnh của Python thông qua những trải nghiệm thực tế của tác giả.
Lối viết đơn giản, sáng rõ.

Tài liệu miễn phí này sẽ giúp bạn nhanh chóng tự học ngôn ngữ lập trình Python.

2. A Byte of Python

Tài liệu Python siêu dễ, siêu cơ bản:

- Dành cho người hoàn toàn chưa có kiến thức gì về lập trình.
- Cung cấp các chỉ dẫn và tutorial để bước đầu làm quen với ngôn ngữ lập trình Python.
- Miễn phí.


3. Think Python 2nd Edition

Một tài liệu Python miễn phí khác. So với hai cuốn sách ở trên, Think Python nâng cao hơn một chút (nhưng vẫn rất cơ bản và dễ). Ưu điểm:

- Sử dụng Python 3.
- Hướng dẫn chạy Python trên trình duyệt có sẵn.
- Giới thiệu thêm một số tính năng thú vị của Python, như: các cấu trúc dữ liệu bổ sung, list comprehensions.v.v...
- Bài tập rất thú vị, đòi hỏi tư duy.

4. Automate the Boring Stuff with Python

Bạn từng khổ sở bỏ ra hàng giờ đồng hồ để đặt tên files, hoặc update hàng trăm dòng spreadsheet? Vậy thì, hãy để máy móc làm thay cho bạn!

Tài liệu Python hết sức thực tế này sẽ giúp bạn giải quyết gọn núi việc lẽ ra ngốn hàng tiếng đồng hồ chỉ trong vòng vài phút.

Dành cho newbie, không cần kinh nghiệm lập trình để bắt đầu.
Giúp bạn xây dựng những chương trình hết sức thực tiễn, có thể nhìn thấy thành quả ngay.

5. Dive into Python 3

Vẫn ở mức độ cơ bản, song so với những tài liệu Python kể trên, cuốn sách này kéo bạn lại gần hơn với lập trình thực sự. Bạn nên có chút ít kinh nghiệm lập trình (C hoặc Java) trước khi bắt đầu.

Sách có rất nhiều bài tập ví dụ cực kì chi tiết, rõ ràng.
Dùng Python 3 (rất khác biệt so với Python 2.7.x.)

6. Learn Python the Hard Way

Tài liệu Python rất nổi tiếng này thực ra dành cho newbie có ít hơn 1 năm kinh nghiệm lập trình, dù tên sách nghe có vẻ… dọa dẫm. Sự “khó nhằn” của cuốn sách nằm ở công thức 3 bước “khô như ngói”:

- Học từng bài tập ví dụ
- Gõ lại từng bài tập ví dụ một cách tuyệt đối chính xác
- Làm code trong bài tập ví dụ chạy

Một khi vượt qua được cửa ải này, bạn sẽ học được cách tự bơi một mình.

Tuy nhiên, sách dùng Python 2.7 và chưa có bản cập nhật cho Python 3.

Nếu định học theo tài liệu Python này, bạn nên chú ý, bởi code Python 2.7 của bạn có thể bị hàng đống lỗi khi chạy trên Python 3 interpreter.

7. Invent Your Own Computer Game with Python

Nhiều sách lập trình dành cho beginner chỉ đưa ra lý thuyết và các công cụ, mà quên hướng dẫn người đọc cách ứng dụng những kiến thức đó vào thực tế.

Cuốn sách nhỏ này, may thay, hoàn toàn ngược lại. Sách:

- Hướng dẫn cách viết các game nhỏ, tương tác dòng lệnh rất thú vị, giống như các game trên nền DOS ngày xưa
- Giải thích chi tiết, cặn kẽ, cực kì dễ hiểu và áp dụng ngay cả với học sinh 10-12 tuổi

8. Making Games with Python and Pygame

Là phần tiếp theo của cuốn trên.

Sách sẽ hướng dẫn bạn lập trình 11 game lớn hơn với đồ họa 2D.

Từ đó, bạn có thể tự viết game của mình, hoặc phát triển các ứng dụng khác.

Xem thêm 5 sách lập trình kinh điển

Việc làm Senior Python Developer


II. SÁCH PYTHON NÂNG CAO

9. Learning Python 5th Edition

Rất dài, rất nhiều chữ, rất chuyên sâu. Cuốn sách này sẽ giúp bạn có nền tảng cực kì vững chắc về Python.

Dành cho developer đã có kinh nghiệm với một vài ngôn ngữ lập trình (dĩ nhiên bao gồm Python), đặc biệt là kinh nghiệm với lập trình hướng đối tượng.

Ưu điểm:

Sách cực kì chi tiết, bao quát hầu hết mọi khía cạnh của ngôn ngữ lập trình Python từ các khái niệm cơ bản đến kiến thức chuyên sâu.
Tìm hiểu Python trong sự đối sánh với các ngôn ngữ lập trình khác (như C hoặc C++)

Nhược điểm:

Dài hơn 1600 trang. Bạn nên chuẩn bị tâm lý “trường kì kháng chiến” để có thể "nhai" hết được tài liệu Python này.

10. Effective Python

Tài liệu Python dành cho trình độ trung cấp và nâng cao.

Sách chia ra làm nhiều phần nội dung, mỗi phần có thể hoàn thành xong trong vòng 10-30 phút. Ngoài ra, cuối mỗi phần đều có phần tóm tắt những điểm chính cần ghi nhớ.
Ví dụ minh họa đơn giản, dễ hiểu.
Các tips đưa ra đều rất hữu dụng.

11. Python Cookbook

Cuốn sách này giúp bạn hiểu ngôn ngữ lập trình Python sâu sắc từ gốc rễ.

Nhờ vậy, bạn có thể tối ưu hóa code của mình nhanh hơn, gọn gàng hơn, tốt hơn.

Sách được trình bày chặt chẽ, rõ ràng, rất thuận tiện để tra cứu.

12. Fluent Python

Đây là tài liệu Python đặc biệt dành cho các Python developer muốn thông thạo Python 3.

Nếu bạn đã rành rẽ Python 2, và muốn nâng cấp lên Python 3 hay thậm chí các phiên bản sau này nữa, cuốn sách này dành cho bạn.

Lưu ý: bạn nên đọc 3 tài liệu Python kể trên theo thứ tự với độ khó tăng dần: 1) Effective Python 2) Python Cookbook 3) Fluent Python.

13. Rtfm: Red Team Field Manual

Bạn là “hacker tập sự”? Vậy tài liệu Python này sẽ rất tiện dụng cho bạn, vì:

Chứa 90 trang các lệnh cho Windows, Linux, Nmap, SQLMAP, VPN, Putty, Powershell, Python và Google Hacking
Có khoảng 2000 cú pháp và hướng dẫn tương ứng từ cơ bản đến nâng cao
Giúp tiết kiệm thời gian tìm kiếm, ghi nhớ các lệnh

14. Black Hat Python: Python Programming for Hackers and Pentesters

Như đã giới thiệu ở trên, Python là ngôn ngữ lập trình được các hacker đặc biệt ưa chuộng. Và để ngăn chặn black hat hacker, cách tốt nhất là phải hiểu các mánh lới, kĩ thuật.v… của họ.

Tài liệu Python này xuất sắc trong việc phơi bày cách các hacker tạo ra Trojan, mở rộng phòng Suite Burp và Windows, cũng như cách họ thâm nhập vào một hệ thống, thao tác với gói dữ liệu và lây nhiễm cho máy ảo.

Xem thêm 37 nguồn tài liệu cho web developer



III. KHÓA HỌC PYTHON ONLINE


15. Real Python

Khóa học Python online này là lựa chọn tuyệt vời cho những ai muốn cùng lúc học ngôn ngữ lập trình và phát triển website bằng Python.

Khóa học bắt đầu với kiến thức cơ bản về ngôn ngữ lập trình Python (cả Python 2.7 và Python 3). Tiếp đó, bạn sẽ được học cách phát triển web với Django, Flask, and web2py. Đây là những web framework Python phổ biến nhất hiện nay.
Bạn cũng được hướng dẫn cách dùng các tools như Vagrant, Git, Heroku.v.v… để xây dựng các ứng dụng bằng Python.
Có thể đăng kí học 1 kèm 1.

16. Python Jumpstart by Buiding 10 Apps

Khóa học này dành cho những ai đã có chút ít kinh nghiệm lập trình và muốn nhanh chóng làm quen với Python thông qua các dự án thực tế như:

Xây dựng 1 trang xem dự báo thời tiết (HTTP clients, chụp màn hình/trích xuất dữ liệu, các gói cài đặt bên ngoài)
Tạo một trang phân tích giá bất động sản (xử lý định dạng files, thao tác trên danh sách, generators)
Tạo một ứng dụng ghi chú/nhật ký cá nhân (thao tác I/O với tập tin văn bản)

17. Code Academy: Learn Python

Khóa học dành cho newbie. Các bài học đơn giản, dễ hiểu, vui nhộn, có tính tương tác cao. Đặc biệt, bạn không cần tải phần mềm về, mà có thể code ngay trên trình duyệt đang sử dụng.

Tuy nhiên, nếu đã có từ 6-12 tháng kinh nghiệm lập trình, bạn có thể cảm thấy khóa học này hơi quá dễ.

Ngoài ra, bạn có thể cân nhắc khóa học tương tự bên Code School

Lưu ý: Các khóa học kiểu này là cách tuyệt vời để bạn học lập trình/viết code. Tuy nhiên, xây dựng hoàn chỉnh một ứng dụng hay viết phần mềm để giải quyết các vấn đề thực tế lại là câu chuyện hoàn toàn khác, đòi hỏi nhiều nỗ lực hơn rất nhiều.

18. Python Tutorial for Beginners: Learn Programming in 7 Days

Tutorial miễn phí trên trang Guru99 dành cho người mới bắt đầu. Bạn chỉ cần nhập địa chỉ email để đăng ký tham gia Tutorial gồm 23 phần này.

19. Python for Entrepreneurs

Khóa học lí tưởng cho những ai đã có kiến thức lập trình Python cơ bản, và muốn phát triển kĩ năng thông qua xây dựng một online business thực sự.

20. Intro to Python for Data Science

Nếu muốn theo đuổi sự nghiệp về data science (bao gồm machine learning, deep learning, computer vision, statistical analysis.v.v…), bạn nên thông thạo ngôn ngữ lập trình Python, cũng như NumPy và SciPy libraries.

Khóa học này là cách tuyệt vời để bạn làm quen với cả 3.

Xem thêm các website học lập trình chất nhất tại: https://itviec.com/blog/hoc-lap-trinh/