Đọc Sách Gì Để Có Thể Tự Tin Lập Trình Python ?

Hiện nay, các phương tiện truyền thông phát triển mạnh mẽ khiến cho chúng ta có nhiều điều kiện tiếp cận với tri thức hơn thông qua truyền hình, các kênh video, các khóa học online, blog… Dù có thêm nhiều sự lựa chọn nhưng lựa chọn tiếp cận thông tin, tri thức thông qua việc đọc sách chưa bao giờ là lỗi thời.

Cũng như những nguồn tài nguyên khác, sách cũng có vô vàn loại sách, có cuốn hay, cuốn dở ( tùy theo người viết và thời gian viết nữa ). Bài viết này của tôi sẽ triển khai review 1 số ít đầu sách về ngôn từ lập trình Python mà tôi đã đọc trong quy trình học tập và thao tác với Python. Hy vọng với những tri kiến của mình sẽ cung ứng cho những bạn một số ít thông tin hữu dụng trước khi quyết định hành động đọc cuốn sách nào .

Một số lưu ý trước khi có ý định đọc sách để thu nhận thêm thông tin.

Khi cầm 1 cuốn sách tiếng Anh trên tay, thường thì người Việt có thói quen bỏ lỡ những trang chú ý quan tâm tiên phong của cuốn sách ( phần thông tin mà những bạn đang đọc này, những bạn cũng hoàn toàn có thể bỏ lỡ – nếu muốn – ). Tuy nhiên, phần thông tin này lại là phần khá mê hoặc được chính tác giả hoặc những ” bạn ” của tác giả triển khai review, đưa ra lời khuyên, quan tâm với người đọc .

Sách về chuyên ngành lập trình, thường sẽ có các bản pdf được chia sẻ trên mạng internet, nếu có thể bạn hãy mua cuốn sách đó để được tiếp cận với các nguồn source code, nhóm thảo luận, thậm chí… “tán gẫu” với tác giả về các nội dung trong sách.
Giá sách dạng sách giấy thì khá đắt so với thu nhập bình quân của người Việt Nam (thêm phí ship từ AMZ về nữa thì…). Tuy nhiên, nếu bạn sở hữu một thiết bị đọc sách kindle thì giá sách cũng không còn quá đắt nữa, việc đọc sách trên kindle cũng khá tiện lợi. Nếu có thể, hãy mua ủng hộ tác giả nhé.

Người lập trình thường phụ thuộc vào và dính liền với cái máy tính, cả ngày thao tác với máy tính, khi đọc sách cũng lại mở máy tính ra để đọc ebook, khi thấy một đoạn code nào đó thì lại gật gù, gật gù và nhanh tay copy / paste vào editor / IDE để thực thi chạy và xem hiệu quả. Làm cách này, những bạn hoàn toàn có thể sẽ quên ngay những gì những bạn vừa copy / paste. Hãy tự gõ những script Open trong sách, mỗi lần gõ là một lần tự thưởng thức .
Lưu ý sau cuối của tôi dành cho những bạn : Đã mất công cầm cuốn sách trên tay / tải về về máy tính thì hãy đọc nó tối thiểu một lần dù chỉ là đọc lướt qua phần sumary của cuốn sách, biết đâu một lúc nào đó bạn sẽ cần dùng đến một đoạn nào đó trong sách. Đừng tích trữ sách theo kiểu ” sưu tầm ” sách, có hàng trăm cuốn sách trong máy tính chưa được đọc lần nào .

1. Learn Python 3 the Hard Way

Đây là một cuốn sách rất quen thuộc với nhiều bạn khi bắt đầu học tự học lập trình Python.
Đọc tên của cuốn sách, nếu không có người giới thiệu chắc một số bạn sẽ “next” để đi tìm cuốn sách khác. Nhưng tên của cuốn sách như trên vẫn chưa đầy đủ, tên phụ của nó: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code –> Những hướng dẫn đơn giản để đến với thế giới của máy tính và lập trình.
Các bạn có thể tìm đọc các thông tin về cuốn sách tại AMZ: https://www.amazon.com/dp/0134692888

Phần “hard” trong cuốn sách này như trên tiêu đề được tác giả đề cập đến có lẽ là yêu cầu của tác giả với các độc giả:
– Tự gõ lại toàn bộ các source code.
– Hoàn thành tất cả các bài tập.
– Tìm kiếm giải pháp mới cho mỗi bài tập.

Cuốn sách không chia ra thành các chương mà chia thành các exercise, với tổng cộng 52 exercises. Mỗi exercise là một câu chuyện dẫn dắt người đọc để thực hiện giải quyết một bài toán nào đó bằng Python thì sẽ phải cần sử dụng những lý thuyết, function gì.
Qua mỗi exercise là người đọc sẽ nắm được một phần lý thuyết, cách sử dụng các kiểu dữ liệu, cách phân tích và giải quyết bài toán. Việc còn lại của chúng ta là hiểu và gõ lại từng đoạn code vào editor/IDE. Nếu gõ xong, “chạy” mà lỗi thì chỉ có thể là lỗi typing :)).
Sau khi làm theo như tác giả cuốn sách, một số bài tập sẽ được tác giả gợi ý thêm một số phương án khác để chúng ta tự tìm thêm solution của riêng mình.
Còn gì tốt hơn việc vừa học vừa được thực hành dưới sự dẫn dắt khá là chi tiết đúng không các bạn ? Nếu để kiên nhẫn làm hết các bài tập trong cuốn sách này, các bạn sẽ không còn là “newbie” trong lập trình Python nữa.

2. Automate the Boring Stuff with Python: Practical Programming for Total Beginners

Đây là cuốn sách thứ 2 tôi đọc về Python sau khi đã đọc xong cuốn ” Learn Python 3 the Hard Way ” ở trên, nguyên do tôi đọc cuốn sách này là vì tôi cần thêm một số ít kinh nghiệm tay nghề về việc vận dụng Python vào xử lý những bài toán thực tiễn, học cách ứng dụng những thư viện Python vào những project .

Hiện tại trên AMZ, những bạn hoàn toàn có thể thấy ấn bản thứ 2 của cuốn sách ( 2 nd Edition – November 12, 2019 ) : https://www.amazon.com/Automate-Boring-Stuff-Python-2nd/dp/1593279922. Đây là bản tiếp nối của ấn bản thứ 1 khá thành công xuất sắc, thành công xuất sắc đến mức có cả website riêng và khóa học trên udemy dựa nội dung của cuốn sách ( https://automatetheboringstuff.com/ ) .

Tại sao cuốn sách này lại được mọi người đón nhận và ủng hộ nhiều đến như vậy? Hãy nói đến nội dung của cuốn sách.
Cuốn sách được chia làm hai phần:

Lý thuyết : Với 6 chương kim chỉ nan cơ bản gồm có syntax, những lý giải case by case với từng function được sử dụng, đưa ra nhiều hình vẽ minh họa cho từng trường hợp. Phần kim chỉ nan này tương thích cả với những người chưa từng học ngôn từ lập trình nào và coi Python như một ngôn từ lập trình tiên phong. Như ví dụ để lý giải cho cấu trúc tinh chỉnh và điều khiển if … elif … else … dưới đây

Ngoài ra còn có 5 chương thuộc vào phần ” nâng cao ” hơn một chút ít ví dụ như thao tác với file, thư mục, debug, …

Thực hành: Với 9 project với mục tiêu “automation” các tác vụ nếu làm thủ công sẽ mất nhiều thời gian. Các project này chính là điểm thu hút của cuốn sách vì các tác vụ này gắn liền với khá nhiều công việc của nhiều người.
WEB SCRAPING: Học cách sử dụng các module cho việc crawl và xử lý dữ liệu từ các trang web: webbrowser, requests, bs4, selenium
WORKING WITH EXCEL SPREADSHEETS: Xây dựng ứng dụng cho thực hiện thao tác các tác vụ đọc/ghi/sửa/xóa dữ liệu từ các file excel bằng thư viện openpyxl
WORKING WITH GOOGLE SHEETS: Ngoài excel trên máy tính cá nhân, nhiều nơi đã chuyển sang dùng google sheet và việc xử lý dữ liệu từ ông kẹ google cũng không làm khó được các lập trình viên Python với thư viện EZSheets
WORKING WITH PDF AND WORD DOCUMENTS: Xây dựng ứng dụng tạo ra file pdf bằng module PyPDF2 với nhiều kiểu format, merge file, tìm kiếm dữ liệu,…

Và những project khác nữa : Working with csv files and json data ; Keeping time, scheduling tasks, and launching programs ; Sending email and text messages ; Manipulating images ; Controlling the keyboard and mouse with gui automation
Toàn những tiêu đề project ” hot ” và mang lại nhiều quyền lợi cho người đọc, thuận tiện hoàn toàn có thể hiểu được tại sao cuốn sách này lại hot đến như vậy 🙂 .

3. Learning Python

Đây là một cuốn sách ra đời từ khá sớm (2013), được bán trên AMZ từ rất lâu (https://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730) chính vì vậy số lượng review tiêu cực về cuốn sách này cũng khá nhiều. Cũng có thể do nó đã hơi hơi lỗi thời. Vì khi tác giả viết cuốn sách này thì đang thịnh hành là Python 2 và Python 3.x mới có trạng thái nhen nhóm. Hoặc cũng có thể số lượng trang của cuốn sách 1650 pages làm nản lòng người đọc (sách nặng quá, khó mang đi theo bên người, khó cầm vừa nằm vừa đọc)

Với số lượng trang sách gấp 3, 4 lần những cuốn sách Python khác mà chỉ tập trung vào các kiểu dữ liệu, các syntax (ở mức độ python cơ bản) nên từng đối tượng được giới thiệu vô cùng chi tiết. Sự trau chuốt của tác giả trong mỗi dòng thông tin là điểm mạnh nhất của cuốn sách này.
Ví dụ với phần binding dữ liệu a = 3 cũng được tác giả giải mất cả trang A4, tương tự với a = 3; a = b.

Tuy nhiên theo quan điểm của tôi thì trừ khi bạn có dự tính trở thành một giảng viên dạy lập trình Python hoặc thực sự muốn hiểu sâu về Python thì bạn hãy đọc cuốn sách này. Nếu chỉ muốn học Python để ” code for food ” thì không nên mất nhiều thời hạn với 1650 trang sách này, lúc bấy giờ đã có nhiều sự lựa chọn hơn thời gian năm 2013 .

4. Python Crash Course: A Hands-On, Project-Based Introduction to Programming

Cuốn này và cuốn Automate the Boring Stuff with Python cùng của nhà xuất bản No Starch Press nên hình bìa được design có nét khá giống nhau. Các bạn hoàn toàn có thể khám phá những thông tin về cuốn sách tại AMZ : https://www.amazon.com/Python-Crash-Course-2nd-Edition/dp/1593279280

Tác giả thì khác nhau nhưng phần bố cục nội dung bên trong khá giống nhau. Đầu tiên là 11 chương lý thuyết về Python cơ bản (các kiểu dữ liệu, syntax chung,…), cuốn sách này hơn cuốn Automate the Boring Stuff with Python ở chỗ có thêm chương 11 nói về testing (unit-test & test case), một phần rất quan trọng trong phát triển phần mềm.
Cuốn sách này có phiên bản một xuất bản năm 2015-2016, phiên bản 2 mới xuất bản lại vào năm 2019 (Các bạn chú ý không lại đọc nhầm sách cũ đã out of date nhé).
Phần project thực hành thì có 3 chủ đề lớn: Pygame, data visualization, web application.
Cá nhân tôi thì chỉ tham khảo mỗi Pygame để tạo ra một trò chơi chiến đấu với người ngoài hành tinh.

Phần data visualization và web application thì có vẻ như hơi ít thông tin và thực ra tôi hoàn toàn có thể tìm những cuốn sách khác cùng nội dung nhưng được viết một cách chuyên biệt hơn nên cũng không chăm sóc lắm .

5. Python Tricks: A Buffet of Awesome Python Features

Bạn hoàn toàn có thể tìm kiếm thông tin về món Búp Phê này tại https://www.amazon.com/Python-Tricks-Buffet-Awesome-Features-ebook/dp/B0785Q7GSY

Cuốn sách được xuất bản từ năm 2017 chứa khoảng chừng 4 x section nói về những thứ hay ho và đang ẩn dưới dạng như những ” Easter Egg ” ( những công dụng ít được biết đến ) trong Python. Bạn sẽ lần lượt trải niệm qua những section trải qua tranh luận và những ví dụ minh họa chứng tỏ tính đúng đắn về vận tốc thực thi hoặc sự ngắn gọn .
Như ở trang bìa của cuốn sách, đây là một món Búp Phê, có nghĩa là bạn hoàn toàn có thể tự do chọn một chapter / section bất kể vì mỗi section được trình diễn dưới dạng những bài bàn luận và ví dụ minh họa. Việc nhảy cóc sang một section khác không làm gián đoạn hay cản trở việc đọc hiểu của bạn .
Cuốn sách này không dành cho người mới học Python hoàn toàn có thể đọc vì bạn sẽ choáng ngợp trước những thông tin mà cuốn sách đưa ra. Khi đã có tương đối kỹ năng và kiến thức cơ bản về Python hoặc làm một số ít dự án Bất Động Sản, bạn quay lại đọc cuốn sách này và biết đâu sẽ refactor được tương đối code ở những dự án Bất Động Sản đã làm .

6. Effective Python: 90 Specific Ways to Write Better Python

Cuốn sách này chứa các bài viết độc lập nhau dưới dạng gần giống như các blog-post hoặc báo cáo khoa học (article), các bài viết được viết dựa trên các hiểu biết về Python của một pythonista, với mục đích chia sẻ kinh nghiệm xử lý các vấn đề trong Python cho đến việc khai thác các “Easter Egg”.
Các chủ đề có mức độ phức tạp tăng dần, bắt đầu với khái niệm đơn giản như là biết bạn đang sử dụng phiên bản Python nào hay không và kết thúc với khái niệm phức tạp như cách xác định rò rỉ bộ nhớ.
Mỗi bài viết là sự kết hợp của sample code, thảo luận và danh sách những điều cần nhớ. Ngoài ra các bài viết còn dẫn chứng đến những cuốn sách, báo cáo khoa học khác. Bạn có thể tìm hiểu sâu hơn các vấn đề dựa vào thông tin này.

Về bố cục, cuốn sách chia ra làm 8 chương lớn:

Pythonic Thinking: Giới thiệu cách thực hiện các task vụ phổ biến trong Python, cách để tối ưu, tận dụng những lợi thế của Python.
Functions: Đưa ra các cách sử dụng function hiệu quả hơn, giảm thiểu lỗi, tăng khả năng có thể tái sử dụng.
Classes and Inheritance: Phác thảo các cách làm việc hay nhất với lập trình hướng đối tượng trong Python.
….
Metaclasses and Attributes, Concurrency and Parallelism, Built-in Modules, Collaboration, Production.

Cuốn sách này tổng hợp các tri kiến, kinh nghiệm của tác giả nên nhiều đoạn theo cá nhân tôi thì nó cũng mang tính “cảm nhận” cá nhân. Tác giả cho rằng làm như thế là đúng, là hiệu quả nhưng chưa chắc áp dụng vào công việc của chúng ta đã đúng. Tuy nhiên cũng là một góc nhìn để chúng ta hoàn thiện các skill của mình.
Các bạn có thể tìm kiếm thêm thông tin về cuốn sách tại: https://www.amazon.com/Effective-Python-Specific-Software-Development/dp/0134853989

Kết

Trên đây, tôi vừa giới thiệu với các bạn 6 cuốn sách trong số những cuốn sách mà tôi đã đọc về ngôn ngữ lập trình Python để nắm vững các kiến thức cơ bản và làm quen với việc xây dựng ứng dụng.
Chúc các bạn tự tin tìm kiếm được đúng cuốn sách phù hợp với nhu cầu hiện tại của mình. Cảm ơn các bạn đã đọc bài viết.
Hẹn gặp lại các bạn vào bài viết tiếp theo về các cuốn sách liên quan đến lập trình Web trong Python (nếu bài viết hiện tại được ủng hộ nhiều star).

Các bài viết liên quan

Viết một bình luận