Tài liệu Python
Tài liệu tham khảo Python ngắn gọn, đi kèm ví dụ. Đọc khái niệm, xem code, rồi luyện tập trong một hành trình Coddy.
Bắt đầu khóa họcBắt đầu
- Python là gì?Giới thiệu Python bằng ngôn ngữ dễ hiểu: Python là gì, dùng để làm gì, và vì sao rất nhiều người chọn nó làm ngôn ngữ lập trình đầu tiên.
- Cài đặt PythonHướng dẫn từng bước cài đặt Python trên mọi hệ điều hành, kiểm tra phiên bản, và biết khi nào bạn thật ra không cần cài gì cả.
- Chạy code PythonBa cách chạy code Python: shell tương tác, file .py đã lưu chạy từ terminal và chạy từ trình soạn thảo, kèm hướng dẫn khi nào nên dùng cách nào.
- Cú pháp PythonBộ quy tắc cú pháp tối thiểu mà Python quan tâm: thụt lề, xuống dòng, dấu hai chấm và phân biệt chữ hoa chữ thường, giải thích không cần thuật ngữ khó.
- Chú thíchCách viết chú thích trong Python: một dòng với #, khối nhiều dòng và docstring để ghi tài liệu cho hàm và module.
Biến và dữ liệu
- BiếnBiến hoạt động thế nào trong Python: phép gán, quy tắc đặt tên, gán lại và mô hình tư duy giúp bạn tránh rắc rối.
- Kiểu dữ liệuĐi một vòng các kiểu dữ liệu có sẵn của Python: số, chuỗi, boolean, None, list, tuple, set, dict, kèm ví dụ và khi nào nên dùng từng kiểu.
- ChuỗiLàm việc với văn bản trong Python: tạo chuỗi, dùng f-string, cắt chuỗi và các phương thức thường dùng như split, join, replace và strip.
- f-stringHướng dẫn thực tế về f-string trong Python: chèn biến và biểu thức vào chuỗi, định dạng số và ngày tháng, và khi nào nên dùng các kiểu định dạng cũ.
- Số & booleanCách Python xử lý số nguyên, số thực và boolean: phép tính số học, chuyển đổi kiểu và những trường hợp đặc biệt hay gây nhầm lẫn.
- Nhập và inCách hàm print() và input() trong Python hoạt động, cùng dấu phân cách, ký tự cuối dòng và cách chuyển dữ liệu người dùng nhập thành số.
Luồng điều khiển
- Toán tửTìm hiểu đầy đủ các toán tử trong Python: số học, so sánh, logic, gán, kiểm tra thành viên và định danh, kèm ví dụ cho từng loại.
- Toán tử and, or, notCách toán tử logic của Python hoạt động: bảng chân trị, giá trị truthy và falsy, đánh giá short-circuit, vì sao and/or trả về một toán hạng, thứ tự ưu tiên và khác biệt với & và |.
- if / elif / elseCách câu lệnh if, elif và else trong Python hoạt động, bao gồm giá trị truthy, điều kiện lồng nhau và biểu thức if ba ngôi.
- Vòng lặp forCách vòng lặp for trong Python hoạt động: duyệt list, chuỗi, range, từ điển và mọi thứ có thể lặp, cùng break, continue và else.
- Vòng lặp whileKhi nào nên chọn vòng lặp while thay vì vòng lặp for, cách tránh vòng lặp vô hạn và những mẫu xuất hiện nhiều nhất trong code thực tế.
- range()Cách range() hoạt động trong Python: start, stop, step, khoảng số âm và vì sao range là lazy chứ không tạo ra cả một list.
Collection
- ListTìm hiểu list trong Python, kiểu tập hợp phổ biến nhất: cách tạo, chỉ số, cắt list, append, sort và những mẫu code bạn sẽ dùng nhiều nhất.
- TupleKhi nào nên dùng tuple thay vì list: tính bất biến, giải nén, named tuple và những tình huống tuple được sinh ra để giải quyết.
- SetKhi nào nên dùng set trong Python: phần tử không trùng lặp, kiểm tra in nhanh và các phép toán kiểu toán học (hợp, giao, hiệu) làm nên sức mạnh của set.
- Từ điển (dict)Từ điển là cấu trúc tra cứu khóa và giá trị của Python, kiểu dữ liệu bạn sẽ dùng liên tục khi đã qua phần cơ bản.
- List comprehensionList comprehension giúp bạn tạo một list mới trên một dòng dễ đọc, để biến đổi, lọc hoặc cả hai, thay cho kiểu viết vòng lặp rồi append.
Hàm và cấu trúc
- HàmCách định nghĩa và dùng hàm trong Python: tham số, giá trị trả về, tham số mặc định, đối số keyword và thói quen đặt tên giúp code dễ đọc.
- *args và **kwargs*args và **kwargs nghĩa là gì, khi nào nên dùng, và cách chuyển tiếp đối số gọn gàng từ hàm này sang hàm khác.
- LambdaLambda là gì, dùng vào việc gì, những chỗ nó thực sự phát huy tác dụng và khi nào nên dùng hàm có tên thay vì lambda.
- DecoratorDecorator trong Python thực chất là gì, cách tự viết một decorator, và những mẫu (đối số, xếp chồng, wraps) khiến chúng đáng dùng.
- Type hintType hint trong Python là gì, khi nào chúng hữu ích, và cú pháp để chú thích kiểu cho biến, chữ ký hàm, container và giá trị có thể là None.
- Module & importCách hệ thống module của Python hoạt động: tự viết module, import từ module đó và dùng pip để cài package bên thứ ba.
- pip & packageCách cài, nâng cấp và gỡ package Python bằng pip, gồm cả PyPI, tệp requirements và cách tránh cái bẫy cài đặt toàn cục.
- Môi trường ảoMôi trường ảo là gì, vì sao mọi dự án Python thực tế đều cần một môi trường ảo, và cách tạo, quản lý chúng bằng module venv có sẵn.
- Guard __main__`if __name__ == '__main__'` thực sự làm gì, vì sao script Python nghiêm túc nào cũng dần dùng mẫu này, và cách tổ chức một tệp vừa là script vừa là module.
Lớp và đối tượng
- Lớp (class)Nhập môn lớp trong Python cho người mới bắt đầu: định nghĩa lớp, tạo instance, phương thức `__init__`, kế thừa, và khi nào nên dùng dataclass thay thế.
- Kế thừaCách kế thừa lớp hoạt động trong Python: tạo lớp con, gọi super().__init__, ghi đè và mở rộng phương thức, isinstance và issubclass, đa kế thừa và MRO, và khi nào composition là lựa chọn tốt hơn.
Lặp nâng cao
- GeneratorCách generator tạo ra giá trị theo kiểu lười (lazy) trong Python: từ khóa `yield`, generator expression và khi nào generator tốt hơn một list thông thường.
- Context managerCâu lệnh `with` thật ra đang làm gì: tự động dọn dẹp cho tệp, khóa, kết nối cơ sở dữ liệu và mọi thứ khác cần được đóng một cách chắc chắn.
Làm việc với dữ liệu thực tế
- Xử lý tệpCách đọc và ghi tệp trong Python: câu lệnh with, chế độ văn bản và nhị phân, cùng API hiện đại dựa trên đường dẫn an toàn hơn.
- Kiểm tra file tồn tạiBa cách kiểm tra một tệp có tồn tại hay không trong Python: os.path.exists và isfile, Path.exists và is_file của pathlib, và mở tệp trong try/except FileNotFoundError.
- JSONCách đọc và ghi JSON trong Python: loads, dumps, đọc từ tệp, in JSON đẹp mắt và xử lý các trường hợp đặc biệt khi làm việc với dữ liệu thực tế.
- Tệp CSVCách đọc và ghi file CSV trong Python: module csv, DictReader và DictWriter, xử lý dòng tiêu đề, dấu ngoặc kép, và khi nào nên chuyển sang pandas.
- HTTP requestCách gửi HTTP request trong Python với thư viện requests: GET, POST, query parameter, header, body JSON và xử lý lỗi.
- datetimeTìm hiểu thực tế về module datetime của Python: phân tích chuỗi ngày, định dạng, tính toán với ngày tháng và xử lý múi giờ mà không bị rối.
- RegexLàm quen thực hành với module re của Python: tìm kiếm, so khớp, bắt group, thay thế và những mẫu regex bạn sẽ dùng nhiều nhất.
Lỗi và gỡ lỗi
- Ngoại lệCách xử lý lỗi trong Python: try/except/finally, bắt đúng loại ngoại lệ, tự raise ngoại lệ và khi nào nên để lỗi lan lên trên.
- Các loại lỗi và gỡ lỗiĐi qua những lỗi Python bạn sẽ gặp nhiều nhất (KeyError, ValueError, ModuleNotFoundError, EOFError) và những thói quen gỡ lỗi giúp sửa chúng nhanh chóng.