Tiếp nối series bài viết của Stringee về ngôn ngữ lập trình Python. Trong tuần này, chúng ta sẽ cùng nhau tìm hiểu về mệnh đề điều kiện trong Python với từ khóa sử dụng là if. Sau khi đọc bài viết này, bạn sẽ có đủ kiến thức và có khả năng lập trình một tính năng có sử dụng mệnh đề điều kiện bằng ngôn ngữ lập trình này.

Trong bài viết này, chúng ta sẽ cùng nhau đi qua các chủ đề sau:

  • Đầu tiên, chúng ta sẽ tìm hiểu tổng quan xem một mệnh đề if và dạng đơn giản nhất của nó.
  • Sử dụng mệnh đề if như một model, ta sẽ học cách nhóm các mệnh đề lại thành các block hoặc các compound statement
  • Sau khi đã hiểu được về mệnh đề điều kiện if được sử dụng như thế nào trong Python, chúng ta sẽ so sánh nó với cách mà một số ngôn ngữ khác đang thực hiện câu điều kiện nhé

1. Giới thiệu mệnh đề if trong Python

Chúng ta sẽ bắt đầu bằng việc cùng nhau phân tích câu lệnh if đơn giản nhất. Ở dạng tối giản, mệnh đề này sẽ được sử dụng như sau:

if <expr>:
    <statement>

Cùng phân tích mệnh đề này, nó sẽ bao gồm các thành phần sau:

  • <expr> là một mệnh đề trả về một kết quả có dạng Boolean
  • <statement> là một câu lệnh Python hợp lệ, có tính năng thực hiện một lệnh nào đó

Nếu mệnh đề trong if có kết quả là true thì <statement> sẽ được thực thi. Nếu <expr> là false thì <statement> sẽ bị bỏ qua và không được thực hiện.

Dấu “:” ngay sau mệnh đề <expr> là bắt buộc phải có trong mệnh đề if. Một số ngôn ngữ khác yêu cầu mệnh đề điều kiện phải được đặt trong một cặp ngoặc nhưng Python không yêu cầu điều đó.

Ta sẽ thực hiện một và ví dụ mệnh đề if dưới đây:

>>> x=1
>>> y=6
>>> if x<y:
...     print('true')
... 
true
>>> if x>y:
...     print('x > y')
... 
>>> if x:
...     print('x')
... 
x
>>> 

>>> Xem thêm các bài viết trong chuỗi bài hướng dẫn lập trình Python tại đây:

2. Nhóm các mệnh đề: sử dụng indentation (thụt đầu dòng) và block (khối)

2.1. Giải quyết bài toán cần thực hiện nhiều lệnh nếu một mệnh đề đúng

Với các kiến thức chúng tôi đã giới thiệu tới bạn đọc, Stringee tin là các bạn đã có thể tự tin áp dụng mệnh đề này vào trong chương trình của mình. Tuy nhiên, chỉ một câu lệnh if là không đủ để giải quyết các vấn đề phức tạp.

Giả sử, chúng ta cần giải một bài toán mã giả như sau:

Nếu hôm nay trời nắng, tôi sẽ:

  • Hạn chế ra ngoài trời
  • Bật điều hòa trong nhà

Và dĩ nhiên là nếu trời không nắng thì tôi sẽ không phải ngại bất cứ việc gì trong các công việc trên cả.

Trong các chương trình ví dụ chúng ta thực hiện ở trên, sau một mệnh đề if <expr>: là duy nhất một mệnh đề <statement>, vậy hẳn là phải có cách nào đó để thực hiện một công việc “Nếu <expr> là true thì thực hiện toàn bộ các công việc này.

Đúng vậy, chúng ta hoàn toàn có thể thực hiện nhiều công việc nếu một mệnh đề if đúng. Nhìn chung, các ngôn ngữ đều tiếp cận với bài toán này bằng cách gom các lệnh vào một cụm lệnh kết hợp (từ đây sẽ gọi là compound statement) hoặc một khối code (block). Mỗi ngôn ngữ đều cung cấp cho chúng ta một cách thực hiện nhiều câu lệnh trong một khối, tuy nhiên mỗi ngôn ngữ sẽ có một cách khai báo khác nhau. Chúng ta sẽ cùng nhau tìm hiểu xem Python thực hiện việc này như thế nào nhé.

2.2. Format code bằng cách căn chỉnh cho các đoạn mã

Sử dụng các dấu thụt dòng để đánh dấu block code chính là cách Python chọn để sử dụng trong trường hợp này. Nguyên tắc này trong Python được xây dựng dựa trên luật việt vị (off-side rule). Các statement cần được thực hiện liên tiếp hay nói dễ hiểu, chúng nằm cùng một block sẽ được đánh dấu cùng mức với nhau trong một file code.

Một compound statement trong Python sẽ có dạng như thế này:

if <expr>:
    <statement>
    <statement>
    ...
    <statement>
<following_statement>

Nếu expr là true, Python sẽ thực hiện toàn bộ các lệnh trong block bên dưới nó, trừ trên xuống và sau đó mới đến <following_statement>. Nếu sai, block code dưới nó sẽ bị bỏ qua và Python sẽ thực hiện luôn <following_statement>.

Một lưu ý rất quan trọng ở đây, đó là chúng ta không thể dùng một ký hiệu nào để định nghĩa ra vị trí kết thúc một block code. Tất cả những gì chúng ta cần làm để kết thúc một block đó là thụt dòng <following_statement> vào nhỏ hơn một cấp so với block trên nó.

Ví dụ:

Trước khi tiếp tục thử nghiệm trên một console python, chúng ta có thể nhập lệnh sau để xóa màn hình cho nó nhé:

import os
os.system(‘clear’)

Ví dụ sử dụng nhiều statement trong một câu lệnh if như sau:

>>> weather = True
>>> if weather:
...     print("Wear more protection")
...     print("Turn on the air conditioner")
... 

Wear more protection

Turn on the air conditioner

3. Một số cách thực hiện các câu điều kiện bởi các ngôn ngữ lập trình khác

Đại đa số các ngôn ngữ khác không sử dụng luật việt vị để định nghĩa một block code. Cách mà phần lớn các ngôn ngữ lập trình sử dụng ở đây là định nghĩa một ký tự đặc biệt để đánh dấu vị trí bắt đầu và kết thúc của một block. Ví dụ, trong PHP, Java và rất nhiều ngôn ngữ khác sử dụng một cặp ngoặc nhọn {} để định nghĩa block code.

Kết

Trên đây là toàn bộ các kiến thức mà Stringee muốn mang tới cho các bạn về mệnh đề điều kiện if trong Python, mong rằng qua đó các bạn có thể sử dụng được thuần thục kỹ thuật này trong chương trình của mình nhé.


Stringee Communication APIs là giải pháp cung cấp các tính năng giao tiếp như gọi thoại, gọi video, tin nhắn chat, SMS hay tổng đài CSKH cho phép tích hợp trực tiếp vào ứng dụng/website của doanh nghiệp nhanh chóng. Nhờ đó giúp tiết kiệm đến 80% thời gian và chi phí cho doanh nghiệp bởi thông thường nếu tự phát triển các tính năng này có thể mất từ 1 - 3 năm.

Bộ API giao tiếp của Stringee hiện đang được tin dùng bởi các doanh nghiệp ở mọi quy mô, lĩnh vực ngành nghề như TPBank, VOVBacsi24, VNDirect, Shinhan Finance, Ahamove, Logivan, Homedy,  Adavigo, bTaskee…

Quý bạn đọc quan tâm xin mời đăng ký NHẬN TƯ VẤN TẠI ĐÂY: