Câu 1Vòng lặp nào phù hợp nhất khi điểm kết thúc được xác định bởi số lượng phần tử cố định?
Tổng kết cú pháp Python — Lựa chọn giữa luồng điều khiển và hàm
Tổng hợp cú pháp Python (luồng điều khiển và hàm). Kết nối rẽ nhánh điều kiện, vòng lặp, xử lý ngoại lệ, và ứng dụng hàm thành một bản đồ rõ ràng.
Cú pháp Python là bộ công cụ để gắn kết hành vi
Trong Python cơ bản, bạn đã học các kiểu dữ liệu chứa dữ liệu — int / str / list / dict. Series Cú pháp Python là tầng tiếp theo: bộ công cụ để luồng hành vi chạy trên dữ liệu đó.
Tất cả nội dung trong series này có thể gom vào bốn nhiệm vụ: rẽ nhánh theo điều kiện, lặp lại công việc, bắt lỗi, và đóng gói logic để tái sử dụng.
Luồng điều khiển — Rẽ nhánh, Vòng lặp và Ngoại lệ
Ba nhóm cần nhớ: nhóm if để chọn hành vi, nhóm vòng lặp để duyệt qua từng phần tử, và nhóm ngoại lệ để sống sót qua thất bại.
| Phân loại | Cú pháp / Hàm | Ứng dụng tiêu biểu |
|---|---|---|
| Rẽ nhánh | if / elif / else | Chọn nhánh dựa trên giá trị hoặc trạng thái |
| Rẽ nhánh | all() / any() | Kiểm tra hàng loạt xem tất cả hay bất kỳ phần tử nào thỏa điều kiện |
| Vòng lặp | for + range / enumerate / zip | Duyệt từng phần tử của một collection |
| Vòng lặp | while | Lặp khi điều kiện còn đúng (cẩn thận vòng lặp vô hạn) |
| Vòng lặp | List comprehension | Gói for + filter + transform vào một dòng |
| Biểu thức gán | Toán tử walrus := | Gán và kiểm tra trên cùng một dòng (giảm trùng lặp trong while / if) |
| Ngoại lệ | try / except / finally | Bắt lỗi runtime và dọn dẹp |
| Phát sinh | raise / class ngoại lệ tùy chỉnh | Tự ném ngoại lệ khi giả định bị phá vỡ |
Hàm — Bộ công cụ để tái sử dụng
Định nghĩa một hàm bằng def thì đơn giản, nhưng hàm trong Python còn đi kèm bộ công cụ tính năng nâng cao — truyền hàm như giá trị, định nghĩa hàm bên trong hàm, và trang trí chúng — đó là điều khiến code Python trở nên tái sử dụng được và dễ bảo trì.
def ở trung tâm, bộ công cụ phân nhánh theo bốn hướng: đối số linh hoạt (args/kwargs), thao tác phạm vi (closure, nonlocal), đánh giá lười (generator), và trang trí (higher-order, decorator, lambda, map).| Phân loại | Cú pháp / Hàm | Ứng dụng tiêu biểu |
|---|---|---|
| Định nghĩa | def / return | Đặt tên cho một đoạn logic để có thể tái sử dụng |
| Đối số | *args / **kwargs và nhiều giá trị trả về | Nhận số lượng đối số bất kỳ / unpack tại nơi gọi |
| Cẩn thận | Bẫy đối số mutable | Đối số list / dict được chia sẻ với caller. Mặc định nên dùng None |
| Scope | Hàm bên trong và closure — global / nonlocal | Tạo hàm nhớ (hoặc ghi đè) giá trị bên ngoài |
| Đánh giá lười | Hàm generator yield | Sinh chuỗi rất lớn từng phần tử một, tiết kiệm bộ nhớ |
| Hàm như giá trị | Higher-order function | Nhận hoặc trả về hàm như đối số / giá trị trả về |
| Hàm như giá trị | Biểu thức lambda | Hàm vô danh một dòng |
| Hàm như giá trị | map() | Áp dụng một hàm cho mọi phần tử của list cùng lúc |
| Trang trí | Decorator @ | Gắn thêm logging, đo thời gian hay caching cho hàm có sẵn |
Tiếp theo — Đóng gói dữ liệu và hành vi với class
Tiếp theo, Lập trình hướng đối tượng Python sẽ cho bạn thấy cách dùng class để đóng gói dữ liệu (thuộc tính) và hành vi (phương thức) vào một đối tượng duy nhất — đó chính là lập trình hướng đối tượng.
Kiểm tra kiến thức
Hãy trả lời từng câu hỏi một.
Câu 2Cách nào ngắn gọn nhất để kiểm tra mọi phần tử của nums đều dương?
Câu 3Cái nào phù hợp nhất để gắn thêm logic chung như logging hay đo thời gian vào hàm có sẵn?