Khóa Học Python (1 Kèm 1 Online) – Từ Cơ Bản Đến Nâng Cao
Khóa học giúp bạn tự tin viết chương trình Python từ con số 0, xử lý file và kết nối với các dịch vụ bên ngoài qua API.
-
Ngày cập nhật 10/2026
-
Học viên 1421
Tại sao bạn học lập trình mãi không tiến bộ?
Học lập trình hơn 1 năm nhưng bạn vẫn không thể tự viết nổi 10 dòng code. Nguyên nhân thật sự do đâu?
Bạn sẽ học được gì?
- Cài đặt môi trường và tự viết, chạy chương trình Python đầu tiên ngay trên máy của bạn.
- Nắm chắc biến, kiểu dữ liệu, câu lệnh điều kiện và vòng lặp để giải các bài toán lập trình cơ bản.
- Xử lý văn bản và quản lý dữ liệu bằng chuỗi, list, tuple, dictionary và set.
- Tách chương trình thành các hàm dễ đọc, dễ dùng lại và viết code ngắn gọn hơn với comprehension.
- Chia một yêu cầu lớn thành từng bước nhỏ, đọc hiểu thông báo lỗi và tự tìm lỗi bằng trình gỡ lỗi của VS Code.
- Tổ chức dự án nhiều file, cài thư viện bằng pip và quản lý thư viện riêng cho từng dự án với môi trường ảo.
- Xử lý ngoại lệ, đọc ghi file văn bản, CSV và JSON để chương trình lưu được dữ liệu và chạy ổn định hơn.
- Viết code theo hướng đối tượng, đồng thời hiểu decorator và generator để đọc được code Python thực tế.
- Tìm kiếm văn bản bằng biểu thức chính quy, viết test tự động với pytest và gọi API để lấy dữ liệu thật từ internet.
Khóa học này bao gồm
- Thời lượng 12 buổi (1-2 tháng)
- 2-3 buổi/tuần (2.5 tiếng/buổi)
- 90 bài tập thực hành
- Hỗ trợ riêng 1-1
Nội dung khóa học
- Chương trình và ngôn ngữ lập trình: Hiểu cách máy tính thực thi lệnh và vai trò của ngôn ngữ lập trình để biết code của mình được chạy như thế nào.
- Trình thông dịch Python: Hiểu Python chạy code theo từng dòng để biết vì sao chương trình dừng lại ngay tại dòng bị lỗi.
- Lý do chọn Python: Nhận biết các lĩnh vực đang dùng Python để hình dung những hướng có thể đi tiếp sau khóa học.
- Cài đặt môi trường: Biết cách cài Python và VS Code để viết và chạy code ngay trên máy cá nhân.
- Terminal cơ bản: Dùng các lệnh chuyển thư mục và xem danh sách file để chạy chương trình Python từ terminal.
- Chương trình đầu tiên: Dùng hàm
print()để hiển thị kết quả ra màn hình và kiểm tra môi trường đã hoạt động đúng. - Cú pháp và chú thích: Hiểu quy tắc thụt lề và cách viết chú thích để code chạy đúng và dễ đọc lại về sau.
- Biến: Hiểu biến là tên gắn với một giá trị để lưu dữ liệu và dùng lại ở nhiều nơi trong chương trình.
- Quy tắc đặt tên: Biết cách đặt tên biến đúng quy tắc và có ý nghĩa để người khác đọc code là hiểu ngay.
- Kiểu dữ liệu cơ bản: Phân biệt
int,float,strvàboolđể chọn đúng kiểu cho từng loại dữ liệu. - Kiểu động: Hiểu Python tự xác định kiểu theo giá trị và dùng
type()để kiểm tra kiểu của một biến. - Chuyển đổi kiểu: Dùng
int(),float()vàstr()để đổi dữ liệu sang kiểu phù hợp trước khi xử lý. - Nhận dữ liệu từ người dùng: Dùng
input()kết hợp chuyển đổi kiểu để viết chương trình tính toán theo giá trị người dùng nhập vào.
- Toán tử số học: Dùng các phép tính, gồm chia lấy nguyên
//và chia lấy dư%, để giải các bài toán tính toán thường gặp. - Thứ tự ưu tiên: Hiểu thứ tự thực hiện phép tính và dùng dấu ngoặc để biểu thức cho ra đúng kết quả mong muốn.
- Toán tử gán kết hợp: Dùng
+=,-=và các toán tử tương tự để cập nhật giá trị của biến một cách ngắn gọn. - Toán tử so sánh: Dùng
==,!=,>,<để so sánh hai giá trị và nhận về kết quả đúng hoặc sai. - Toán tử logic: Dùng
and,or,notđể kết hợp nhiều điều kiện thành một biểu thức. - So sánh liên tiếp: Biết cách viết
0 < x < 10để kiểm tra một giá trị có nằm trong khoảng hay không. - Câu lệnh
if,elif,else: Biết cách viết các nhánh rẽ để chương trình xử lý khác nhau tùy theo dữ liệu. - Điều kiện lồng nhau: Biết cách đặt câu lệnh điều kiện bên trong nhau để xử lý các tình huống có nhiều bước kiểm tra.
- Giá trị đúng sai ngầm định: Hiểu giá trị nào được xem là sai trong Python để viết điều kiện ngắn gọn và tránh kết quả ngoài ý muốn.
- Biểu thức điều kiện: Dùng cú pháp
a if điều_kiện else bđể gán giá trị theo điều kiện chỉ trên một dòng. - Câu lệnh
match: Dùngmatchvàcaseđể code dễ đọc hơn khi cần so sánh một giá trị với nhiều trường hợp.
- Vòng lặp
while: Biết cách lặp theo điều kiện để xử lý các công việc chưa biết trước số lần lặp. - Vòng lặp
forvàrange(): Dùngforvớirange()để lặp một số lần xác định và duyệt qua dãy số. - Lệnh
breakvàcontinue: Dùng hai lệnh này để dừng vòng lặp sớm hoặc bỏ qua một lượt khi cần. - Vòng lặp vô hạn: Nhận biết nguyên nhân gây lặp vô hạn để sửa lỗi và chủ động dùng khi viết menu chương trình.
- Vòng lặp lồng nhau: Biết cách đặt vòng lặp bên trong vòng lặp để xử lý bảng cửu chương và in các hình mẫu.
- Các mẫu thuật toán cơ bản: Biết cách dùng biến đếm, biến tổng và biến lưu giá trị lớn nhất để giải các bài toán thường gặp.
- Chỉ mục và cắt chuỗi: Dùng chỉ mục và cú pháp cắt để lấy một ký tự hoặc một phần của chuỗi.
- Duyệt chuỗi: Dùng
forđể xử lý từng ký tự và toán tửinđể kiểm tra chuỗi con. - Tính bất biến: Hiểu chuỗi không thể sửa trực tiếp để biết vì sao các phương thức luôn trả về chuỗi mới.
- Phương thức chuỗi: Dùng
strip(),split(),join(),replace(),find()và các phương thức đổi hoa thường để làm sạch và biến đổi văn bản. - F-string: Biết cách chèn biến và định dạng số trong chuỗi bằng f-string để hiển thị kết quả rõ ràng.
- Ký tự đặc biệt: Dùng các ký tự như
\n,\tđể trình bày văn bản nhiều dòng và căn cột đơn giản.
- Tạo và truy cập list: Biết cách tạo list, lấy và sửa phần tử theo chỉ mục để quản lý một danh sách dữ liệu.
- Duyệt list: Dùng
forkết hợpenumerate()vàzip()để xử lý từng phần tử cùng vị trí của nó hoặc duyệt song song nhiều list. - Phương thức list: Dùng
append(),insert(),remove(),pop()vàsort()để thêm, xóa và sắp xếp phần tử. - Hàm tổng hợp: Dùng
len(),sum(),min()vàmax()để tính nhanh các giá trị thống kê của list. - Tham chiếu và sao chép: Hiểu hai biến có thể cùng trỏ đến một list để tránh việc sửa chỗ này mà dữ liệu chỗ khác cũng đổi theo.
- List lồng nhau: Biết cách dùng list trong list để biểu diễn dữ liệu dạng bảng.
- Tuple và giải nén: Dùng tuple để lưu dữ liệu không cần thay đổi và dùng cú pháp giải nén để gán nhiều biến cùng lúc.
- Tạo và truy cập dictionary: Biết cách lưu dữ liệu theo cặp khóa và giá trị để tra cứu thông tin nhanh theo tên.
- Phương thức dictionary: Dùng
get(),keys(),values(),items()để đọc dữ liệu an toàn và duyệt qua dictionary. - Cấu trúc lồng nhau: Biết cách kết hợp list và dictionary để biểu diễn dữ liệu thực tế như danh sách học viên.
- Đếm tần suất: Dùng dictionary để đếm số lần xuất hiện của từng phần tử trong dữ liệu.
- Set: Dùng set để loại bỏ dữ liệu trùng và kiểm tra nhanh một giá trị có tồn tại hay không.
- Phép toán trên set: Dùng hợp, giao và hiệu để so sánh hai tập dữ liệu với nhau.
- Chọn cấu trúc dữ liệu: So sánh list, tuple, dictionary và set để chọn đúng cấu trúc cho từng bài toán.
- Định nghĩa và gọi hàm: Biết cách viết hàm bằng
defđể gom một công việc lại và gọi ở nhiều nơi. - Tham số và đối số: Hiểu cách truyền dữ liệu vào hàm để một hàm xử lý được nhiều giá trị khác nhau.
- Giá trị trả về: Dùng
returnđể đưa kết quả ra ngoài hàm và phân biệt với việc chỉ in kết quả bằngprint(). - Đối số vị trí, từ khóa và mặc định: Biết cách dùng các dạng đối số để gọi hàm rõ ràng và cho phép bỏ qua giá trị không bắt buộc.
- Phạm vi biến: Phân biệt biến cục bộ và biến toàn cục để tránh việc các phần của chương trình vô tình ảnh hưởng lẫn nhau.
- Docstring: Biết cách viết mô tả cho hàm để người dùng hiểu hàm làm gì mà không cần đọc phần code bên trong.
- Thiết kế hàm: Biết cách tách chương trình thành các hàm nhỏ, mỗi hàm làm một việc, để code dễ đọc và dễ sửa.
- Phân tích bài toán: Biết cách chia một yêu cầu lớn thành các bước nhỏ và vẽ lưu đồ để biết nên bắt đầu viết code từ đâu.
- Đọc thông báo lỗi: Hiểu cấu trúc của traceback để tìm ra dòng gây lỗi và nguyên nhân của lỗi.
- Các loại lỗi thường gặp: Phân biệt lỗi cú pháp, lỗi khi chạy và lỗi logic để chọn đúng cách xử lý.
- Quy trình gỡ lỗi: Biết cách mô tả lỗi, tái hiện lỗi và kiểm tra từng dòng để khoanh vùng nguyên nhân.
- Trình gỡ lỗi của VS Code: Dùng breakpoint và chạy từng bước để quan sát giá trị của biến trong lúc chương trình chạy.
- Dùng AI khi học lập trình: Biết cách nhờ AI giải thích lỗi và đọc lại code do AI viết để vẫn nắm được chương trình của mình.
*argsvà**kwargs: Biết cách viết hàm nhận số lượng đối số không cố định để hàm linh hoạt hơn.- Gợi ý kiểu: Dùng type hint để ghi rõ kiểu dữ liệu của hàm và giúp công cụ phát hiện lỗi sớm.
- Hàm là đối tượng: Hiểu hàm có thể gán vào biến và truyền vào hàm khác để tùy biến cách xử lý.
- Hàm lambda: Dùng
lambdađể viết hàm ngắn, ví dụ như làm khóa sắp xếp trongsorted(). map()vàfilter(): Dùng hai hàm này để biến đổi và lọc dữ liệu, đồng thời đọc hiểu được code có dùng chúng.- Đệ quy: Hiểu cách hàm tự gọi lại chính nó và điều kiện dừng để giải các bài toán có cấu trúc lặp lại.
- Comprehension: Biết cách tạo list, dictionary và set bằng comprehension để thay cho các vòng lặp đơn giản.
- Module và
import: Biết cách tách code thành nhiều file và import để dự án gọn gàng và dễ quản lý. - Biến
__name__: Hiểu ý nghĩa củaif __name__ == "__main__"để file vừa chạy trực tiếp được, vừa import được an toàn. - Thư viện chuẩn: Dùng
math,random,datetimevàcollectionsđể giải quyết các việc phổ biến mà không cần viết lại từ đầu. - Đọc tài liệu: Biết cách tra tài liệu chính thức để tự học cách dùng một thư viện mới.
- Cài thư viện bằng pip: Biết cách tìm và cài thư viện từ PyPI để mở rộng khả năng của chương trình.
- Môi trường ảo: Biết cách tạo môi trường ảo và file
requirements.txtđể mỗi dự án có thư viện riêng và chạy lại được trên máy khác.
- Ngoại lệ: Hiểu ngoại lệ là gì và phân biệt các lỗi có thể lường trước với lỗi do viết sai code.
- Khối
tryvàexcept: Biết cách bắt lỗi để chương trình tiếp tục chạy và thông báo rõ ràng cho người dùng. - Bắt đúng loại lỗi: Biết cách xử lý riêng từng loại ngoại lệ và tránh dùng
exceptchung, vì cách đó dễ che mất lỗi thật. - Khối
elsevàfinally: Dùngelsecho phần chạy khi không có lỗi vàfinallycho phần dọn dẹp luôn phải thực hiện. - Lệnh
raise: Dùngraiseđể chủ động báo lỗi khi dữ liệu truyền vào hàm không hợp lệ. - Kiểm tra dữ liệu nhập: Kết hợp vòng lặp và
tryđể yêu cầu người dùng nhập lại cho đến khi dữ liệu hợp lệ. - Đọc và ghi file văn bản: Dùng
open()với các chế độ đọc, ghi, thêm để lưu dữ liệu lại sau khi chương trình kết thúc. - Câu lệnh
with: Dùngwithđể file luôn được đóng đúng cách, kể cả khi xảy ra lỗi. - Mã hóa ký tự: Hiểu vai trò của UTF-8 để đọc ghi tiếng Việt mà không bị lỗi font.
- Đường dẫn file: Phân biệt đường dẫn tương đối và tuyệt đối, dùng
pathlibđể chương trình chạy đúng trên nhiều hệ điều hành. - Quản lý thư mục: Dùng
osvàshutilđể tạo, duyệt, di chuyển và sao chép file nhằm tự động hóa việc sắp xếp dữ liệu. - File CSV: Dùng module
csvđể đọc và ghi dữ liệu dạng bảng, loại dữ liệu thường được xuất từ Excel. - File JSON: Dùng module
jsonđể lưu dữ liệu có cấu trúc và chuẩn bị đọc dữ liệu từ API.
- Lý do cần OOP: Hiểu vấn đề của code khi dữ liệu và hàm nằm rời rạc để biết khi nào nên dùng class.
- Class và đối tượng: Biết cách định nghĩa class và tạo đối tượng để mô hình hóa các thực thể như học viên hay tài khoản.
- Hàm khởi tạo và
self: Dùng__init__vàselfđể gán dữ liệu riêng cho từng đối tượng khi được tạo ra. - Thuộc tính và phương thức: Biết cách thêm dữ liệu và hành vi cho đối tượng để chúng tự xử lý công việc của mình.
- Phương thức
__str__: Dùng__str__để đối tượng hiển thị thông tin dễ đọc khi in ra màn hình. - Kế thừa: Biết cách tạo class con và dùng
super()để dùng lại code của class cha. - Ghi đè phương thức: Biết cách viết lại phương thức trong class con để thay đổi hành vi theo từng loại đối tượng.
- Ngoại lệ tự định nghĩa: Biết cách kế thừa
Exceptionđể tạo loại lỗi riêng mô tả đúng các tình huống trong chương trình.
- Hàm lồng nhau và closure: Hiểu cách hàm bên trong ghi nhớ biến của hàm bên ngoài để chuẩn bị cho việc viết decorator.
- Decorator: Biết cách viết decorator để thêm chức năng như ghi log hay đo thời gian mà không sửa code của hàm gốc.
- Decorator có tham số: Dùng
*args,**kwargsvàfunctools.wrapsđể decorator áp dụng được cho nhiều loại hàm. - Iterator: Hiểu cách vòng lặp
forhoạt động bên trong để biết vì sao nhiều loại đối tượng duyệt được bằngfor. - Generator: Dùng
yieldđể tạo dữ liệu theo từng phần và tiết kiệm bộ nhớ khi xử lý lượng dữ liệu lớn. - Biểu thức generator: Biết cách viết biểu thức generator để xử lý dữ liệu lớn với cú pháp ngắn gọn như comprehension.
- Khái niệm regex: Hiểu regex mô tả một mẫu văn bản để biết khi nào nên dùng thay cho phương thức chuỗi.
- Ký tự đại diện và lượng từ: Dùng các ký hiệu như
\d,\w,+,*,{n}để viết mẫu cho nhiều dạng văn bản. - Module
re: Dùngsearch(),match(),findall()vàsub()để tìm kiếm và thay thế văn bản. - Nhóm: Dùng dấu ngoặc để tách riêng từng phần của kết quả, ví dụ như lấy tên miền từ địa chỉ email.
- Kiểm tra dữ liệu: Biết cách viết mẫu để kiểm tra email và số điện thoại có đúng định dạng hay không.
- Lý do cần kiểm thử: Hiểu lợi ích của kiểm thử tự động để sửa code mà không sợ làm hỏng phần đang chạy tốt.
- Lệnh
assert: Dùngassertđể khai báo kết quả mong đợi của một đoạn code. - Viết test với pytest: Biết cách cài pytest, viết hàm test và đọc kết quả để phát hiện đoạn code chạy sai.
- Chọn trường hợp kiểm thử: Biết cách kiểm tra cả trường hợp bình thường, trường hợp biên và dữ liệu sai để test có giá trị thực sự.
- Kiểm thử ngoại lệ: Dùng
pytest.raisesđể xác nhận hàm báo đúng lỗi khi nhận dữ liệu không hợp lệ. - Tham số hóa và fixture: Dùng
parametrizevà fixture để chạy một test với nhiều bộ dữ liệu và dùng lại phần chuẩn bị.
- Giao thức HTTP: Hiểu request, response, phương thức
GET,POSTvà mã trạng thái để biết các chương trình trao đổi dữ liệu thế nào. - API: Hiểu API và endpoint là gì để biết cách đọc tài liệu của một dịch vụ bên ngoài.
- Thư viện
requests: Dùngrequestsđể gửi yêu cầu kèm tham số và đọc dữ liệu JSON trả về. - Gửi dữ liệu: Dùng
POSTkèm header để gửi dữ liệu lên dịch vụ và xác thực yêu cầu. - Bảo mật API key: Biết cách lưu API key vào file
.envđể tách key khỏi code và tránh lộ key khi chia sẻ code cho người khác. - Xử lý lỗi mạng: Biết cách đặt thời gian chờ và kiểm tra mã trạng thái để chương trình không dừng đột ngột khi gọi API thất bại.
Đối tượng học
- Bạn chưa biết gì về lập trình và muốn bắt đầu với một ngôn ngữ dễ học.
- Bạn là học sinh, sinh viên và muốn có nền tảng lập trình vững chắc ngay từ đầu.
- Bạn đang làm trái ngành và muốn học lập trình để chuyển nghề hoặc có thêm kỹ năng mới.
- Bạn muốn dùng Python để tự động hóa những công việc lặp đi lặp lại với file và dữ liệu.
- Bạn đã tự học Python một thời gian mà vẫn chưa tự viết được chương trình, nên cần có người hướng dẫn sát sao.
Học 1 Kèm 1 - Đảm bảo chất lượng Tốt Nhất
- Bạn sẽ được theo sát và hỗ trợ 1-1 bởi giảng viên. Đảm bảo chất lượng học tập đạt kết quả tốt nhất.
- Nếu HỌC CHẬM bạn không cần lo lắng không theo kịp chương trình, giảng viên sẽ đi chậm để đảm bảo bạn nắm chắc 100% kiến thức.
- Nếu học nhanh, bạn có thể nhanh chóng kết thúc chương trình để đi làm công ty.
Học online - Tiết kiệm thời gian di chuyển
Thay vì phải di chuyển vất vả trên đường giữa dòng người đông đúc. Giờ đây, bạn chỉ cần mở laptop để bắt đầu học ngay tại nhà. Tiết kiệm thời gian, tránh căng thẳng, và tập trung hoàn toàn vào việc học!
Lịch học linh hoạt
- LetDiv sắp xếp lịch học theo ý của bạn. Học đúng thời điểm mà bạn cảm thấy thoải mái nhất.
- Dễ dàng thay đổi lịch học trong khi học nếu bạn có việc bận. Không làm gián đoạn tiến độ học tập của bạn.
- LetDiv có thể sắp xếp thời gian học cho bạn từ 8h đến 23h, kể cả cuối tuần.
Áp dụng Scaffolding Learning
- Học dễ dàng từ cơ bản đến nâng cao qua từng bước nhỏ.
- Cá nhân hóa lộ trình học tập, nắm chắc kiến thức ngay lập tức.
- Tiến bộ vượt bậc nhờ phương pháp sư phạm khoa học hiệu quả.
Trải nghiệm thử buổi học
Bạn có thể tham khảo ngay một buổi học 1 Kèm 1 qua video sau, để hiểu rõ hơn phong cách giảng dạy và quy trình đào tạo của LetDiv sẽ diễn ra như thế nào:
Chính sách hoàn tiền 100%
- Cam kết hoàn tiền 100% nếu bạn không hài lòng với chất lượng đào tạo trong 2 buổi đầu tiên.
- Quá trình hoàn tiền sẽ diễn ra nhanh chóng ngay trong ngày.
Học viên LetDiv đang làm ở đâu?
Đánh giá của học viên

Trước đây mình chưa từng viết một dòng code nào nên rất sợ không theo kịp. Nhờ học 1 kèm 1, chỗ nào chưa hiểu mình hỏi đi hỏi lại vẫn được giảng viên giải thích đến khi tự làm được bài.

Mình tự học Python gần một năm mà cứ gặp lỗi là không biết sửa thế nào. Giờ mình đã biết cách tự tìm ra lỗi nằm ở đâu thay vì ngồi đoán như trước.

Mình làm văn phòng và học để bớt những việc lặp đi lặp lại. Giờ mình đã tự viết được chương trình nhỏ để sắp xếp file, việc mà trước đây toàn làm bằng tay.

Lịch học rất dễ đổi khi mình phải đi làm về muộn. Giảng viên sửa bài kỹ nên mình biết ngay chỗ sai là ở đâu.

Có những phần mình từng nghĩ là rất khó, nhưng giảng viên lấy ví dụ gần gũi nên mình hiểu ra khá nhanh. Điều mình thích nhất là được học đúng theo tốc độ của mình.

Mình thích nhất là lúc chương trình của mình lấy được dữ liệu thật từ trên mạng. Cảm giác đó khác hẳn những bài tập đơn giản lúc mới học, và mình có thêm nhiều động lực để học tiếp.

Mình là sinh viên trái ngành nên cần đi chậm ở những bài đầu. Giảng viên chỉnh tốc độ theo mình, nhờ vậy càng về sau mình càng theo kịp.

Trước đây mình sửa code xong là sợ làm hỏng phần khác. Khóa học chỉ cho mình cách tự kiểm tra lại chương trình, nên giờ mình tự tin hơn nhiều mỗi khi sửa code.
Hoàn tiền 100% nếu không hài lòng 2 buổi đầu tiên
Khóa học này bao gồm
- Thời lượng 12 buổi (1-2 tháng)
- 2-3 buổi/tuần (2.5 tiếng/buổi)
- 90 bài tập thực hành
- Hỗ trợ riêng 1-1
Hoàn tiền 100% nếu không hài lòng 2 buổi đầu tiên
