Học Python cho người mới bắt đầu từ dòng print đầu tiên
Chưa từng code vẫn học được Python 3.14: cách chia thời gian, lỗi hay gặp và thứ tự học từng chương, kèm tài liệu song ngữ Việt-Anh 323 trang để tự luyện.
Học Python cho người mới bắt đầu từ dòng print đầu tiên
Hình dung một bạn vừa cài xong Python, gõ dòng print(“Xin chào”), bấm chạy và nhận về SyntaxError: invalid character. Bạn ấy soát từng chữ, thấy đúng hết. Hai mươi phút sau mới ra: dấu ngoặc kép là dấu cong, chép từ một file Word. Python chỉ chịu dấu thẳng ".
Chuyện này nghe vặt, nhưng người mới bỏ cuộc chính vì những chuyện vặt kiểu đó, chứ hiếm ai bỏ vì thuật toán khó. Bài này nói về cách học Python cho người mới bắt đầu sao cho những chỗ vấp ấy không ăn mất cả tuần của bạn: vấp ở đâu, học theo thứ tự nào, chia thời gian ra sao. Phần cuối mới nói đến một tài liệu PDF mình thấy hợp để đi cùng lộ trình này, kèm cả chỗ nó không làm thay được.
Vì sao người chưa từng code hay dừng ở tuần đầu
Có hai lý do, và không cái nào là "thiếu năng khiếu".
Thứ nhất, môn này cho phản hồi ngay lập tức, mà phản hồi lại toàn màu đỏ. Học toán, bạn làm sai thì chỉ mất điểm. Học lập trình, bạn làm sai thì máy chửi thẳng vào mặt, bằng tiếng Anh, bằng một đoạn traceback dài mười dòng. Người mới nhìn đoạn đó và nghĩ mình hỏng cả chương trình, trong khi lỗi thường nằm đúng một dòng, dòng cuối cùng.
Thứ hai, người ta học lan man. Xem video về trí tuệ nhân tạo, đọc bài về web, rồi quay lại tự hỏi sao chưa viết nổi vòng lặp. Python rộng đến mức luôn có thứ mới để xem, và cảm giác "đang học" rất dễ đánh lừa. Một tuần xem sáu video mà không gõ dòng nào thì cuối tuần bạn vẫn đứng ở chỗ cũ.
Cách chữa khá chán nhưng chạy được: một thứ tự cố định, và mỗi buổi phải gõ ra ít nhất một chương trình nhỏ chạy được.
Cài Python 3.14 và dòng lệnh đầu tiên: ba chỗ vấp
Chương đầu của hầu hết giáo trình là cài đặt, và đây là chỗ nhiều người mất niềm tin sớm nhất.
Chỗ vấp thứ nhất là gõ lệnh sai chỗ. Bạn mở cửa sổ Python (dấu nhắc >>>) rồi gõ python bai1.py. Lệnh này phải gõ ở terminal hoặc dấu nhắc lệnh của hệ điều hành, không phải trong cửa sổ >>>. Hai nơi nhìn na ná nhau, hành xử khác hẳn.
Chỗ vấp thứ hai là máy có nhiều phiên bản Python, nên lệnh python gọi ra bản cũ. Muốn chắc ăn, hãy gõ python --version ngay sau khi cài. Nếu không hiện đúng bản bạn vừa cài (ở đây là 3.14), dừng lại sửa trước khi học tiếp. Học trên phiên bản lệch thì ví dụ trong sách và kết quả trên máy bạn sẽ không khớp, và bạn sẽ không biết lỗi nằm ở đâu.
Chỗ vấp thứ ba là soạn mã bằng phần mềm văn phòng, như ví dụ ở đầu bài. Dùng trình soạn thảo mã hoặc IDLE đi kèm Python. Đừng chép mã từ Word hay từ ảnh chụp.
Xong ba chỗ đó, chương trình đầu tiên chỉ là một dòng print. Đừng bỏ qua nó dù nó quá dễ. Bạn đang kiểm tra cả chuỗi: cài đặt, soạn, lưu, chạy. Chuỗi này hỏng ở đâu thì mọi chương sau hỏng ở đó.
Ba lỗi nhỏ ăn mất cả buổi tối
Đây là ba lỗi mình thấy người mới gặp đi gặp lại. Cả ba đều là chuyện thật của ngôn ngữ, không phải do bạn vụng.
input() luôn trả về chữ
Chương trình hỏi hai số rồi cộng lại. Người dùng nhập 5 và 3. Bạn mong thấy 8, màn hình in 53. Lý do: input() trả về chuỗi ký tự, và cộng hai chuỗi là nối chúng lại. Phải bọc int() hoặc float() quanh kết quả. Lỗi này đến từ chương về số và chữ, và nó sống dai vì chương trình vẫn chạy, không báo gì cả. Kiểu lỗi không báo mới là kiểu tốn thời gian nhất.
Chia số và số thực
7 / 2 ra 3.5. 7 // 2 ra 3. Hai dấu khác nhau, dùng nhầm là sai cả bài tính số trang, số ghế, số hộp. Thêm một cái bẫy nữa: 0.1 + 0.2 ra 0.30000000000000004. Đó không phải lỗi của Python mà là cách máy tính lưu số thực, nhưng người mới nhìn vào thường nghĩ máy hỏng. Biết sớm thì khỏi hoảng khi so sánh hai số thực bằng ==.
Vòng lặp lệch một đơn vị
Bài kinh điển: tính tổng các số từ 1 đến 100. Đáp án đúng là 5050. Bạn viết range(1, 100) và nhận 4950, thiếu đúng số 100, vì range dừng trước số cuối. Phải viết range(1, 101). Người mới thường sửa bằng cách thử bừa cho đến khi ra 5050 mà không hiểu vì sao. Lần sau gặp bài 1 đến 50 là lại sai.
Mẹo nhỏ: khi nghi vòng lặp sai, thêm một dòng print ngay trong vòng lặp để xem biến đổi thế nào qua từng lượt. Không cần công cụ gì cao siêu. Tài liệu có riêng một chương về lỗi và cách gỡ lỗi, nhưng thói quen print để soi thì nên có từ buổi thứ ba, trước khi bạn học tới chương đó.
Chia thời gian: 6 tuần, mỗi buổi 45 phút
Giả sử bạn học 5 buổi mỗi tuần, mỗi buổi 45 phút. Sáu tuần là 30 buổi, tức 1.350 phút, khoảng 22,5 giờ. Con số này không phải để dọa hay để hứa hẹn "học xong là đi làm". Nó chỉ cho bạn biết một nền tảng cơ bản cần cỡ đó thời gian gõ thật, chưa tính lúc kẹt.
Bảng dưới đây là cách chia mình thấy hợp lý, bám theo thứ tự mười chương của tài liệu bên dưới. Bạn có thể kéo dài ra 8 tuần nếu đi làm bận.
| Tuần | Chương | Sản phẩm cuối tuần (tự đặt ra) |
|---|---|---|
| 1 | Cài Python; số, chữ và danh sách | Chương trình hỏi tên, tuổi rồi in ra năm sinh |
| 2 | Rẽ nhánh và vòng lặp | Trò đoán một số từ 1 đến 100 |
| 3 | Hàm; danh sách, bộ, tập hợp, từ điển | Đếm số lần mỗi từ xuất hiện trong một đoạn văn |
| 4 | Module, tệp, định dạng dữ liệu; lỗi và gỡ lỗi | Đọc tệp 20 dòng điểm số, tính trung bình |
| 5 | pip và môi trường ảo; lớp và đối tượng | Một lớp SinhVien có vài thuộc tính, trong môi trường ảo riêng |
| 6 | Biểu thức chính quy và argparse | Công cụ dòng lệnh lọc các dòng chứa số điện thoại |
Cột cuối là gợi ý của mình, không phải bài tập có sẵn trong tài liệu. Bạn tự đặt, tự làm. Tuần 4 và tuần 5 hay trễ nhất, vì tệp, lỗi, môi trường ảo và lớp là bốn khái niệm mới dồn trong hai tuần. Nếu trễ, đừng nén lại. Cho phép mình dùng thêm một tuần.
Gõ lại, chép hay sửa? Một cách học đỡ mệt
Có ba cách xử lý một ví dụ trong sách, và hiệu quả khác nhau khá nhiều.
Cách một: đọc rồi gật gù. Nhanh nhất, nhưng gần như không nhớ gì sau hai ngày.
Cách hai: gõ lại y nguyên từng dòng. Chậm hơn, bắt bạn thấy dấu hai chấm, thụt lề, ngoặc đóng ngoặc mở. Đây là cách tốt cho tuần đầu, vì lúc đó mắt bạn chưa quen hình dạng của mã.
Cách ba, đáng làm nhất từ tuần hai: gõ lại, chạy được rồi thì cố tình phá. Đổi 101 thành 100, xóa một dấu hai chấm, đổi tên biến ở một chỗ mà không đổi chỗ còn lại. Đoán trước máy sẽ báo gì, rồi chạy xem có đúng không. Sau mười lần phá, bạn đọc thông báo lỗi nhanh hơn hẳn. Việc "sửa chương trình nhỏ" cũng là mục tiêu mà tài liệu đặt ra, và mình nghĩ đó là hướng đúng: người mới cần sửa nhiều hơn viết từ trang trắng.
Một quy tắc nữa: kẹt quá 25 phút ở một lỗi thì dừng, ghi lại câu hỏi, sang bài khác. Quay lại hôm sau thường thấy lỗi ngay. Không phải ai cũng chịu được cảm giác để dở, nhưng cố ngồi ba tiếng với một dấu phẩy thừa thì hiếm khi đáng.
Những chỗ khó thật của Python cho người mới
Python được khen là dễ đọc, và đúng, nhưng "dễ đọc" khác "dễ học hết". Có mấy chỗ mà dù học bằng cách nào bạn cũng phải chịu khó chút.
Thụt lề. Python dùng khoảng trắng để chia khối mã. Trộn dấu tab với dấu cách là ra IndentationError mà mắt thường không thấy. Cài trình soạn thảo để tab thành 4 dấu cách, một lần là xong.
Danh sách, bộ, tập hợp, từ điển. Bốn kiểu dữ liệu trông giống nhau, dùng khác nhau. Danh sách có thứ tự và sửa được. Bộ có thứ tự nhưng không sửa được. Tập hợp không trùng phần tử. Từ điển tra bằng khóa. Nhầm kiểu thì chương trình vẫn chạy được một đoạn rồi mới đổ. Người mới nên tự làm một bảng ghi chú hai cột: "dùng khi nào" và "đừng dùng khi nào".
Môi trường ảo. Chỗ này nản vì chưa thấy lợi ngay. Bạn cài một thư viện bằng pip install và mọi thứ vẫn chạy, thì cần gì tách riêng môi trường? Đến lúc hai dự án cần hai phiên bản khác nhau của cùng một thư viện, bạn mới hiểu. Học sớm là học trước khi cần, hơi gượng, nhưng đỡ khổ về sau.
Lớp và đối tượng. Đây là khái niệm trừu tượng đầu tiên thật sự. Nhiều người hiểu cú pháp mà không hiểu vì sao phải dùng. Cứ viết thử một lớp nhỏ, tạo ba đối tượng, in thuộc tính ra, rồi thử giải cùng bài đó bằng từ điển để so sánh. Có thể bạn thấy từ điển đủ dùng cho bài nhỏ. Cũng không sao, thấy được sự khác biệt mới quan trọng.
Biểu thức chính quy. Gọn mà khó đọc, như một chuỗi ký hiệu lạ. Đừng ép mình thuộc. Hiểu vài thành phần cơ bản, rồi tra khi cần, là đủ cho phần lớn việc lọc văn bản của người mới.
Tài liệu 323 trang song ngữ: dùng được vào đâu
Tài liệu mình nhắc ở đầu bài là Hướng dẫn sử dụng Python cho người mới bắt đầu — Việt/Anh: PDF song ngữ Việt-Anh, 323 trang, phiên bản 1.0, ra tháng 11/2026. Đối tượng là người chưa từng lập trình, muốn cài Python 3.14 và tự viết, chạy, sửa các chương trình nhỏ từng bước.
Mười chương đi theo thứ tự gần giống bảng ở trên: cài Python và chạy chương trình đầu tiên; số, chữ và danh sách; rẽ nhánh và vòng lặp; hàm; danh sách, bộ, tập hợp và từ điển; module, tệp và định dạng dữ liệu; lỗi và cách gỡ lỗi; cài thư viện ngoài bằng pip và môi trường ảo; lớp và đối tượng; cuối cùng là xử lý văn bản bằng biểu thức chính quy và chương trình dòng lệnh argparse. Chia trung bình thì mỗi chương khoảng 32 trang, dù chương nào ngắn dài còn tùy nội dung.
Điểm đáng nói là bản song ngữ. Đọc được thuật ngữ tiếng Anh bên cạnh tiếng Việt giúp bạn khi sau này tra lỗi trên mạng: thông báo lỗi của Python bằng tiếng Anh, và hầu hết câu trả lời hữu ích cũng bằng tiếng Anh. Làm quen sớm thì đỡ sốc.
Còn giới hạn thì nói thẳng:
Đây là file PDF để đọc và tự luyện, không có bài giảng video. Nếu bạn cần người chữa bài, hoặc cần ai đó giải thích lại khi chưa hiểu, tài liệu không làm thay. Nó cũng không thay được giáo trình hay đề cương của một môn tin học ở trường, nếu bạn đang học để thi theo chương trình riêng. Và nó dừng ở mức nhập môn: sau mười chương, bạn chưa thành người làm web hay phân tích dữ liệu, mà mới có nền để đi tiếp.
Nếu bạn là người học tốt bằng cách đọc rồi tự gõ, một cuốn dài 323 trang để cạnh trình soạn thảo là đủ. Nếu bạn cần nghe người khác nói thì nên tìm thêm lớp hoặc nhóm học song song.
Xem 5 trang trước khi bỏ tiền
Trước khi mua, bạn có thể đọc 5 trang xem trước miễn phí để biết cách trình bày, cỡ chữ, và văn phong có hợp mình không. Đó là cách rẻ nhất để quyết định, nên mình khuyên làm bước này trước mọi thứ khác.
Giá là 242.000đ, thanh toán bằng chuyển khoản trong nước. Sau khi chuyển, bạn nhận file trong vòng 24 giờ. Mốc này tính trong 24 giờ chứ không phải ngay sau khi chuyển, nên chưa thấy file trong vài giờ đầu cũng đừng sốt ruột.
242.000đ cho 323 trang đắt hay rẻ là do bạn tự cân. Có điều, thứ người tự học mất nhiều nhất thường là thời gian, như hai mươi phút cho một dấu ngoặc kép cong ở đầu bài. Nhưng nó chỉ đáng khi bạn thật sự gõ, chạy và sửa mỗi ngày. Có file mà không mở thì giá nào cũng đắt.
Muốn đọc 5 trang xem trước và xem chi tiết mười chương, mời bạn vào trang tài liệu: Hướng dẫn sử dụng Python cho người mới bắt đầu — Việt/Anh.