If là một từ tiếng Anh thường gặp, khi dịch nó ra tiếng Việt ta sẽ được nghĩa là “Nếu” hoặc là “Giá mà”, “Miễn là”,… Dĩ nhiên là “Nếu” là một từ chẳng mấy xa lạ với các bạn. Chúng ta sử dụng nó cả trăm, ngàn lần một ngày.
Nếu hôm nay chủ nhật, Tèo sẽ đi chơi.
Nếu được vote up câu hỏi thì bạn được cộng điểm, còn nếu bị vote down bạn sẽ bị trừ điểm, không có vote thì số điểm không thay đổi.
IfĐây là ví dụ về câu lệnh if cơ bản nhất. Nếu … thì …
Từ đó, Python đã xây dựng một cấu trúc nếu tương tự như trên:
if expression:
# If-block
Lưu ý: Tất cả các câu lệnh nằm trong if-block là các câu lệnh có lề thụt vào trong so với câu lệnh if. Chi tiết Kteam sẽ trình bày ở phần tiếp theo
Ở đây, nếu expression là một giá trị khi đưa về kiểu dữ liệu Boolean là True thì Python sẽ nhảy vào thực hiện các câu lệnh trong if-block. Còn nếu không thì không thì sẽ bỏ qua if-block đó.
If – else ifĐây là bản nâng cấp của cấu trúc if vừa rồi chúng ta tìm hiểu. Nó có cấu trúc như sau:
if expression:
# If-block
elif 2-expression:
# 2-if-block
elif 3-expression:
# 3-if-block
…
elif n-expression:
# n-if-block
Ở đây, bạn có thể đặt bao nhiêu lần nếu cũng được. Và từ câu lệnh if đến lần elif lần thứ n – 1 (câu lệnh với n-expression) là một khối, ta sẽ đặt cho nó một cái tên là khối BIG để dễ hiểu. Nó sẽ hoạt động như sau:
Bước 1: Kiểm tra xem expression có phải là một giá trị Boolean True hay không?
Bước 2: Nếu có, thực hiện if-block sau đó kết thúc khối BIG. Không thì chuyển sang Bước 3.
Bước 3: Kiểu tra xem 2-expression có phải là một giá trị Boolean True hay không?
Bước 4: Nếu có, thực hiện 2-if-block sau đó kết thúc khối BIG. Không thì chuyển sang Bước 5.
Bước 5: Kiểm tra xem 3-expression có phải là một giá trị Boolean True hay không?
Bước 6: Nếu có, thực hiện 3-if-block sau đó kết thúc khối BIG. Không thì chuyển sang Bước 7
…
Bước (n – 1) x 2: Kiểm tra xem n-expression có phải là một giá trị Boolean True hay không?
Bước (n – 1) x 2 + 1: Nếu có, thực hiện n-if-block.
Bước (n – 1) x 2 + 2: Kết thúc khối BIG.
Ví dụ để các bạn dễ hiểu hơn
If – elseCấu trúc vừa rồi không biết có làm bạn đau đầu hay không. Nếu có, hãy thư giãn vì cấu trúc sau đây đơn giản hơn nhiều.
if expression:
# If-block
else:
# else-block
Nếu expression là một giá trị Boolean True, thực hiện if-block và kết thúc. Không quan tâm đến else-block. Còn nếu không sẽ thực hiện else-block và kết thúc.
Ví dụ:
If – else if – elseif expression:
# If-block
elif 2-expression:
# 2-if-block
…
elif n-expression:
# n-if-block
else:
# else-block
Bạn có thể đặt bao nhiêu lần elif cũng được nhưng else thì chỉ một. Và từ câu lệnh if đến câu lệnh else là một khối, ta cũng sẽ đặt cho nó một cái tên là khối BIG để dễ hiểu. Nó sẽ hoạt động như sau:
Bước 1: Kiểm tra xem expression có phải là một giá trị Boolean True hay không?
Bước 2: Nếu có, thực hiện if-block sau đó kết thúc khối BIG. Không thì chuyển sang Bước 3.
Bước 3: Kiểu tra xem 2-expression có phải là một giá trị Boolean True hay không?
Bước 4: Nếu có, thực hiện 2-if-block sau đó kết thúc khối BIG. Không thì chuyển sang Bước 5
…
Bước (n – 1) x 2: Kiểm tra xem n-expression có phải là một giá trị Boolean True hay không?
Bước (n – 1) x 2 + 1: Nếu có, thực hiện n-if-block sau đó kết thúc khối BIG.
Bước (n – 1) x 2 + 2: Nếu không thì thực hiện else-block và kết thúc khối BIG.
Ví dụ:
Block trong PythonVới đa số ngôn ngữ lập trình hiện nay, thường dùng cặp dấu ngoặc { } để phân chia các block.
Riêng đối với Python lại sử dụng việc định dạng code để suy ra các block. Đây là điều giúp code Python luôn luôn phải đẹp mắt.
Một số điều lưu ý về việc định dạng code block trong Python:
Câu lệnh mở block kết thúc bằng dấu hai chấm (:), sau khi sử dụng câu lệnh có dấu hai chấm (:) buộc phải xuống dòng và lùi lề vào trong và có tối thiểu một câu lệnh để không bỏ trống block.
Những dòng code cùng lề thì là cùng một block.
Một block có thể có nhiều block khác.
Khi căn lề block không sử dụng cả tab lẫn space.
Nên sử dụng 4 space để căn lề một block
Các câu lệnh nằm trong một khung màu là một block, và block đó được mở bởi câu lệnh nằm ngay bên trên khung màu.
Lưu ý: Kteam có đề cập đến việc sau khi sử dụng câu lệnh có dấu hai chấm (:) buộc phải xuống dòng và lùi lề vào trong. Tuy nhiên, Bạn vẫn có thể đi ngược lại điều này trong một vài trường hợp
Tuy nhiên, việc sử dụng như vậy không được khuyến khích vì chỉ tiết kiếm được một vài dòng code mà lại gây khó đọc thì không đáng để tiết kiệm.
Và bạn cũng đã biết thêm một điều Python không hề cấm dấu chấm phẩy (;). Nó vẫn là một cú pháp hợp lệ. Nếu bạn quen tay có thể dùng dấu chấm phẩy (;) thoải mái.