Luồng Thực Thi Cơ Bản
Khi xây dựng ứng dụng, trình biên dịch cần biết thứ tự thực hiện các lệnh. Cơ chế này được gọi là luồng điều khiển (control flow), bao gồm ba dạng phổ biến:
- Tuần tự: Chạy lần lượt từ câu lệnh đầu đến cuối.
- Rẽ nhánh: Chuyển hướng thực thi dựa trên kết quả boolean của một phép so sánh.
- Vòng lặp: Tái diễn một khối lệnh nhiều lần.
Phần trọng tâm này sẽ khai thác chi tiết cách Python xử lý các quyết định điều kiện.
Vai Trò Của Thụt Lề
Thay vì sử dụng dấu ngoặc nhọn để界定 khối代码, Python yêu cầu định dạng thụt lề để xác định bậc cha con giữa các đoạn mã:
- Khối mã con luôn được dẫn dắt bởi một dòng cha kết thúc bằng dấu hai chấm
:. - Bốn dấu cách là tiêu chuẩn công nghiệp giúp duy trì tính nhất quán và khả năng đọc.
- Không phải lệnh nào cũng sinh ra vùng thụt lề. Chỉ các toán tử ra quyết định như
if,for,whilemới kích hoạt ngữ cảnh con. - Một nhóm lệnh tương đương phải chia sẻ cùng lượng thụt lề. Parser sẽ trỏ ngược lên dòng gần nhất có chỉ mục thụt ít hơn để tìm mệnh đề sở hữu.
- Nội dung ngang hàng (cùng độ thụt) sẽ được đánh giá tuần tự, không ảnh hưởng lẫn nhau về mặt thực thi.
Các Mô Hình Rẽ Nhánh
Rẽ Nhánh Đơn Hướng
Khởi chạy hành động chỉ khi điều kiện trả về giá trị đúng:
if dieu_kien_thoa_man:
thuc_hien_toi_uu()
danh_gia_lai_he_thong()
Rẽ Nhánh Kép
Xây dựng hai lộ trình xử lý rõ ràng cho trường hợp xảy ra hoặc không xảy ra:
if dieu_kien_check():
xu_ly_chu()
else:
xu_ly_phu()
ghi_nhat_sai_so()
Rẽ Nhánh Đa Hướng
Khi có nhiều ngưỡng giá trị cần phân tách, chuỗi if - elif - else giúp thu gọn logic:
if dieu_kien_a:
muc_a()
elif dieu_kien_b:
muc_b()
elif dieu_kien_c:
muc_c()
else:
muc_khac()
Danh sách elif được đánh giá tuần tự và dừng ngay khi tìm thấy điều kiện khớp đầu tiên. Khối else đóng vai trò dự phòng bắt buộc.
Ứng Dụng Cụ Thể
Xác Nhận Thông Tin Đăng Nhập
username_truy_cap = "developer"
ma_quyen_truy_cap = "x9k2p1"
if username_truy_cap == "developer" and ma_quyen_truy_cap == "x9k2p1":
print("Chuyển hướng đến bảng điều khiển chính.")
else:
print("Đăng nhập thất bại. Vui lòng kiểm tra lại mật khẩu.")
Đánh Giá Mức Độ Thành Tích
ket_qua_danh_gia = 78
if 90 <= ket_qua_danh_gia <= 100:
cap_do = "Xuất sắc"
elif 80 <= ket_qua_danh_gia < 90:
cap_do = "Khá"
elif 60 <= ket_qua_danh_gia < 80:
cap_do = "Trung bình"
else:
cap_do = "Chưa đạt chuẩn"
Logic Điều Khiển Lồng Nhau
Các câu lệnh điều kiện hoàn toàn có thể nhúng vào nhau để mô phỏng quy trình nghiệp vụ phức tạp:
cap_nhat_he_thong_duoc = True
du_lieu_hop_le = True
phep_thuc_hien = False
if cap_nhat_he_thong_duoc:
print("Cập nhật thành công phiên bản mới.")
if du_lieu_hop_le:
print("Duyệt hồ sơ dữ liệu.")
if phep_thuc_hien:
print("Triển khai tự động sang môi trường production.")
else:
print("Yêu cầu phê duyệt thủ công từ quản trị viên.")
else:
print("Bỏ qua bước kiểm tra dữ liệu do lỗi cấu hình.")
else:
print("Liên kết mạng không ổn định. Hủy thao tác.")