--------------- <> -----------------
--- KHOA HỌC - CÔNG NGHỆ - GIÁO DỤC - VIỆC LÀM ---
--- Học để đi cùng bà con trên thế giới ---

Tìm kiếm trong Blog

Python (4) - Cú pháp của Python

Bài trước: Python (3) - Một số Trình viết mã cho Python

-----

4. Cú pháp của Python

Tới bài học này, bạn đã:

- Cài đặt được trình thông dịch (Python.exe)

- Biết cách viết mã (lập trình) Python trên các môi trường khác nhau (CMD, IDLE, Notepad, VS Code)

- Đã biết cách dịch và chạy chương trình Python

Phần này, chúng ta bắt đầu học về ngôn ngữ Python.

Học ngôn ngữ Python cũng giống như khi bạn học một ngoại ngữ (tiếng Anh). Mục tiêu sau cùng của học ngoại ngữ là dùng được nó, ví dụ bạn học tiếng Anh, thì bạn phải đọc hiểu được tài liệu tiếng Anh, nói chuyện được với người Anh, người Mỹ. Vậy học Python cũng vậy, phải biết dùng “tiếng Python” để nói chuyện được với máy tính, dùng Python ra lệnh được cho máy tính làm những gì bạn muốn; đọc một đoạn mã nguồn bằng Python thì phải hiểu được nó làm gì, tạo ra kết quả gì?

4.1 Chương trình là gì

Lập trình là tạo ra các chương trình. Vậy,

Chương trình là gì?

Chương trình (program) là một tập hợp các chỉ dẫn (các câu lệnh) được viết bằng ngôn ngữ lập trình (ví dụ Python), được sắp xếp theo một trật tự nhất định để máy tính thực hiện một nhiệm vụ cụ thể (ví dụ: mở một trò chơi, tính toán, hiển thị thông báo).

Ví dụ:

# Đây là một chương trình Python đơn giản: 

print("Chào bạn!") # Chỉ dẫn 1: Yêu cầu máy tính in ra chữ "Chào bạn!" 

print("Hôm nay là thứ mấy?") # Chỉ dẫn 2: Yêu cầu máy tính in ra câu hỏi 

# Chương trình này thực hiện nhiệm vụ giao tiếp cơ bản

Bạn có thể hình dung Chương trình Python giống như một cuốn sách công thức pha chế nước uống. Máy tính sẽ đọc và thực thi từng chỉ dẫn trong công thức để tạo ra một món nước uống.

Câu lệnh là gì?

Nếu Chương trình Python là cuốn sách công thức pha chế nướng uống, thì Câu lệnh chính là mỗi bước trong công thức đó.

Câu lệnh (statement) là một chỉ thị đơn lẻ (single instruction) hoàn chỉnh mà bạn đưa cho máy tính. Mỗi câu lệnh yêu cầu máy tính thực hiện một hành động cụ thể.

Mỗi câu lệnh nằm trên một dòng, kết thúc câu lệnh bằng việc xuống dòng, không cần dấu chấm phẩy (;) khi kết thúc câu lệnh.

Ví dụ minh họa:

- Lệnh xuất chuỗi: print("Chào bạn!") là một lệnh

- Lệnh gán giá trị: ten = "Tèo" là một lệnh, yêu cầu máy tính lưu chữ "Tèo" dưới cái tên ten

- Lệnh tính toán: tong = 5 + 3 là một lệnh, yêu cầu máy tính tính tổng và lưu kết quả

Khối lệnh là gì?

Đôi khi, để thực hiện một hành động lớn hơn, bạn cần nhóm nhiều bước nhỏ lại với nhau.

Khối lệnh (đoạn lệnh, code block) là một nhóm các câu lệnh có liên quan, đặt chung với nhau và thường được thực thi như một đơn vị thống nhất (ví dụ: chỉ chạy khi thỏa mãn một điều kiện nào đó)

Trong Python, các khối lệnh được xác định bằng cách thụt lề (Indent). Các lệnh có cùng mức thụt lề sẽ thuộc cùng một khối.

Bạn hãy lập trình và chạy đoạn mã sau.

Ví dụ minh họa (khối lệnh IF):

diem = 9


# Đây là lệnh điều kiện

if diem >= 8:

    # 2 lệnh sau thuộc cùng một khối lệnh

    # Vì chúng đều được thụt lề vào trong

    print("Bạn đạt điểm Giỏi!")

    print("Xin chúc mừng!")

4.2 Quá trình thông dịch và thực thi lệnh

Phần cứng máy tính không hiểu được ngôn ngữ Python, nó chỉ hiểu mã nhị phân (0 và 1). Do vậy, để thực thi chương trình của bạn, máy tính phải thực hiện một bước trung gian là Thông dịch lệnh.

Quá trình thông dịch lệnh là công việc của Trình thông dịch (Interpreter). Nó giống như một phiên dịch viên làm việc theo thời gian thực: nó đọc từng dòng lệnh Python bạn viết, dịch dòng đó sang ngôn ngữ máy tính, và yêu cầu máy tính thực hiện ngay lập tức, sau đó mới chuyển sang dòng lệnh tiếp theo.

Các bước diễn ra:

- Bạn viết lệnh Python (ví dụ: print("Xin chào"))

- Trình thông dịch Python (python.exe) đọc dòng lệnh này

- Nó dịch lệnh này sang mã máy tính (0s và 1s)

- Máy tính thực thi mã máy (hiển thị "Xin chào" lên màn hình)

- Quá trình này lặp lại cho đến hết chương trình

Vì Python là ngôn ngữ thông dịch, nó giúp việc kiểm tra và gỡ lỗi (debug) dễ dàng hơn. Nếu có lỗi ở dòng nào, chương trình sẽ dừng lại ngay tại dòng đó và báo lỗi.

Bạn hãy lập trình lại đoạn mã sau trong IDLE (chế độ soạn thảo tập tin). Sau đó dịch và thực thi.

# 1. Khai báo các biến lưu trữ thông tin 


ho_ten = "Nguyễn Văn A"

toan = 9.0

van = 8.5 

anh = 9.5 


# 2. Tính điểm trung bình 

# Sử dụng công thức: Tổng điểm / Số môn 


diem_trung_binh = (toan + van + anh) / 3 


# 3. Xuất các nội dung theo yêu cầu 


print("--- KẾT QUẢ HỌC TẬP ---") 

print(f"Họ tên đầy đủ: {ho_ten}") 

print(f"Điểm môn Toán: {toan}") 

print(f"Điểm môn Văn: {van}") 

print(f"Điểm môn Anh: {anh}") 


# Sử dụng hàm round() để làm tròn điểm trung bình đến 2 chữ số thập phân cho dễ nhìn


print(f"Điểm Trung bình (DTB): {round(diem_trung_binh, 2)}") 


# 4. Kiểm tra điều kiện và đưa ra thông báo xếp loại 

# Điều kiện: Nếu điểm trung bình lớn hơn 8.5 


if diem_trung_binh > 8.5: 

print("\n CHÚC MỪNG! Bạn đạt loại: GIỎI!")

4.3 Thụt lề

Thụt lề là gì?

Trong các ngôn ngữ lập trình khác, người ta dùng dấu ngoặc nhọn { } để nhóm các câu lệnh lại. Nhưng trong Python, chúng ta sử dụng Thụt lề (tiếng Anh là Indentation) để làm việc này.

Thụt lề là việc bạn dịch chuyển một đoạn mã vào bên trong (thường là dùng 4 dấu cách hoặc 1 phím Tab) so với lề bên trái.

Thụt lề giúp Python biết được câu lệnh nào thuộc về nhóm nào (gọi là Khối lệnh hay Code Block). Đây là cách duy nhất để Python xác định cấu trúc chương trình.

Ví dụ minh họa: Phân biệt giữa “có” thụt lề và “không” thụt lề.

Bạn hãy tưởng tượng bạn đang đưa ra một điều kiện: "Nếu tôi có tiền, tôi sẽ mua một cái bánh và một hộp sữa."

Bạn hãy lập trình đoạn mã ví dụ sau bằng Notepad (hoặc một trình soạn thảo văn bản tương tự).

Trường hợp 1: Thụt lề đúng (Python hiểu là khối lệnh)

# Khai báo biến

co_tien = True


# Câu lệnh điều kiện (IF)

if co_tien:

    # HAI LỆNH SAU ĐƯỢC THỤT LỀ VÀO TRONG

    # Python hiểu: Nếu co_tien là True, hãy thực hiện cả hai lệnh này.

    print("Mua một cái bánh")

    print("Mua một hộp sữa")

# Lệnh này không thụt lề, nên nó sẽ luôn chạy, không phụ thuộc vào điều kiện IF.

print("Về nhà")

Kết quả chạy:

Mua một cái bánh

Mua một hộp sữa

Về nhà

Trường hợp 2: Thiếu thụt lề (Python báo lỗi cú pháp)

Nếu bạn bỏ quên việc thụt lề, chương trình sẽ báo lỗi ngay lập tức vì Python không biết lệnh print("Mua một cái bánh.) thuộc về điều kiện if hay không.

co_tien = True


if co_tien:

print("Mua một cái bánh") # LỖI: Cần phải thụt lề ở đây!

print("Mua một hộp sữa")


Kết quả chạy:

IndentationError: expected an indented block

Quy tắc về Thụt lề trong lập trình

- Thống nhất: Bạn phải sử dụng thống nhất việc thụt lề trong toàn bộ chương trình (thường là 4 dấu cách cho mỗi lần thụt vào).

- Khi nào cần Thụt lề? Bất cứ khi nào bạn dùng các câu lệnh tạo ra khối lệnh mới, như:

    + Điều kiện: if, elif, else

    + Vòng lặp: for, while

    + Hàm: def

    + Lớp: class

Tóm lại: Thụt lề không chỉ giúp mã Python dễ đọc hơn mà còn là một phần bắt buộc của cú pháp. Nếu bạn làm sai Thụt lề, chương trình sẽ không chạy được.

4.4 Chú thích

Chú thích là gì?

Bạn có thể hình dung Chú thích giống như những ghi chú nhanh bạn viết vào lề sách hoặc một dòng giải thích nhỏ trong vở bài tập.

Chú thích (comment) là những dòng văn bản bạn viết trong chương trình Python, nhưng những dòng này chỉ dành cho con người đọc (bạn, đồng nghiệp, bạn bè, hoặc giáo viên). Trình thông dịch Python sẽ hoàn toàn bỏ qua chúng khi chạy chương trình.

Tác dụng quan trọng nhất

- Giải thích mã: Giúp bạn (hoặc người khác) hiểu được đoạn mã phức tạp đang làm gì, hoặc tại sao bạn lại viết nó như vậy

- Ngăn thực thi mã: Giúp bạn tắt tạm thời một câu lệnh nào đó để kiểm tra lỗi, mà không cần xóa nó đi.

Cách tạo Chú thích trong Python

Trong Python, có hai cách chính để tạo chú thích:

Chú thích một dòng

Để biến một dòng thành Chú thích, bạn chỉ cần đặt dấu thăng (#) vào đầu dòng hoặc phía sau một câu lệnh.

Bạn hãy lập trình đoạn mã sau trong VS Code hoặc một trình soạn mã nguồn bất kỳ.

Ví dụ minh họa:

# Đây là một chú thích, Python sẽ không chạy dòng này.


ten = "Bình"

diem = 10 # Chú thích ngay bên cạnh câu lệnh: Gán điểm tuyệt đối

print(f"Họ tên: {ten}")

print(f"Điểm số: {diem}")

Chú thích nhiều dòng

Nếu bạn có nhiều dòng muốn ghi chú (ví dụ: mô tả chi tiết cả chương trình hoặc một hàm lớn), bạn có thể dùng ba dấu ngoặc kép (""") ở đầu và cuối đoạn chú thích.

Bạn hãy lập trình đoạn mã sau trong VS Code hoặc một trình soạn mã nguồn bất kỳ.

Ví dụ minh họa:

"""

Chương trình này được viết vào ngày 18/11/2025.

Mục đích: Tính tổng và hiệu của hai số.

Người lập trình: Học sinh lớp 8A.

"""

so_a = 5

so_b = 3

tong = so_a + so_b

print(f"Tổng là: {tong}")

Tóm lại: Chú thích là công cụ giúp mã của bạn dễ hiểu, dễ bảo trì hơn rất nhiều, và máy tính sẽ không thực thi chúng.

4.5 Bài tập và câu hỏi

Bài tập 4a. Viết và chạy lại các đoạn mã trong phần lý thuyết.

Câu hỏi 4.1 Chương trình là gì? Phát biểu nào không đúng?

A. Chương trình là một tập hợp các câu lệnh

B. Câu lệnh (statement) là một chỉ thị đơn lẻ (single instruction) hoàn chỉnh mà bạn đưa cho máy tính

C. Mỗi câu lệnh yêu cầu máy tính thực hiện một hành động cụ thể

D. Chương trình Python bao gồm các số 0 và 1

Câu hỏi 4.2 Quá trình thông dịch và thực thi lệnh là gì? Phát biểu nào không đúng?

A. Bạn viết lệnh Python (ví dụ: print("Xin chào")). Trình thông dịch Python (python.exe) đọc dòng lệnh này

B. Trình thông dịch sẽ dịch lệnh Python sang tiếng Anh

C. Máy tính thực thi mã máy (hiển thị "Xin chào" lên màn hình)

D. Quá trình này lặp lại cho đến hết chương trình

Câu hỏi 4.3 Phát biểu về thụt lề, và chú thích. Phát biểu nào không đúng?

A. Thụt lề là việc bạn dịch chuyển một đoạn mã vào bên trong (thường là dùng 4 dấu cách hoặc 1 phím Tab) so với lề bên phải.

B. Chú thích được dùng để giải thích mã nguồn

C. Chú thích được dùng để ngăn thực thi mã

D. Thụt lề là việc bạn dịch chuyển một đoạn mã vào bên trong (thường là dùng 4 dấu cách hoặc 1 phím Tab) so với lề bên trái.

-----

4.1 (D), 4.2 (B), 4.3 (A)

4. Python Syntax

By this lesson, you have already:

- Successfully installed the interpreter (Python.exe)

- Learned how to write Python code (programming) in different environments (CMD, IDLE, Notepad, VS Code)

- Known how to interpret and run a Python program

In this section, we begin learning about the Python language itself.

Learning the Python language is similar to learning a foreign language (like English). The ultimate goal of learning a foreign language is to be able to use it—for instance, if you learn English, you must be able to read English documents and talk to English or American people. The same applies to Python: you must know how to use "Python language" to communicate with the computer, to use Python to command the computer to do what you want, and to read a piece of Python source code and understand what it does and what result it produces.

4.1 What is a Program?

Programming is the process of creating programs. So, what is a program?

A Program is a collection of instructions (statements) written in a programming language (e.g., Python), arranged in a specific order for the computer to perform a specific task (e.g., launching a game, performing a calculation, displaying a message).

Example:

# This is a simple Python program: 

print("Chào bạn!") # Instruction 1: Asks the computer to print the text "Chào bạn!"

print("Hôm nay là thứ mấy?") # Instruction 2: Asks the computer to print the question

# This program performs the task of basic communication

You can think of a Python Program as a book of drink recipes. The computer reads and executes each instruction in the recipe to create a drink.

What is a Statement?

If a Python Program is the book of drink recipes, then a Statement is each step in that recipe.

A Statement is a single, complete instruction that you give to the computer. Each statement asks the computer to perform a specific action.

Examples:

- String Output Statement: print("Chào bạn!") is a statement

- Assignment Statement: ten = "Tèo" is a statement, asking the computer to store the string "Tèo" under the name ten

- Calculation Statement: tong = 5 + 3 is a statement, asking the computer to calculate the sum and store the result.

What is a Code Block?

Sometimes, to perform a larger action, you need to group many small steps together.

A Code Block (or block of code) is a group of related statements placed together, which are usually executed as a unified unit (e.g., only running when a certain condition is met).

In Python, code blocks are defined using Indentation. Statements with the same level of indentation belong to the same block.

Example (IF Code Block):

diem = 9


# This is the conditional statement

if diem >= 8:

    # The 2 statements below belong to the same code block

    # Because they are both indented inwards

    print("Bạn đạt điểm Giỏi!")

    print("Xin chúc mừng!")

4.2 The Interpretation and Execution Process

Computer hardware cannot understand the Python language; it only understands binary code (0s and 1s). Therefore, to execute your program, the computer must perform an intermediate step called Interpretation.

The process of interpretation is the job of the Interpreter. It acts like a real-time translator: it reads each line of Python code you write, translates that line into machine language, and commands the computer to execute it immediately, before moving to the next line.

Steps Involved:

- You write a Python statement (e.g., print("Xin chào"))

- The Python Interpreter (python.exe) reads this line of code

- It translates this statement into machine code (0s and 1s)

- The computer executes the machine code (displays "Xin chào" on the screen)

- This process repeats until the end of the program.

Because Python is an interpreted language, it makes checking and debugging easier. If an error occurs on a certain line, the program will stop immediately at that line and report the error.

4.3 Indentation

What is Indentation?

In other programming languages, curly braces { } are used to group statements. But in Python, we use Indentation to do this.

Indentation is the act of shifting a piece of code inwards (usually by 4 spaces or 1 Tab key) relative to the left margin.

Indentation helps Python determine which statement belongs to which group (called a Code Block). This is the only way for Python to define the structure of the program.

Example: Distinguishing between CORRECT and MISSING Indentation.

Imagine you are setting a condition: "If I have money, I will buy a cake and a carton of milk."

Case 1: Correct Indentation (Python understands it as a Code Block)

# Declare variable

co_tien = True


# Conditional statement (IF)

if co_tien:

    # THE TWO STATEMENTS BELOW ARE INDENTED

    # Python understands: If co_tien is True, execute both of these statements.

    print("Mua một cái bánh")

    print("Mua một hộp sữa")

# This statement is not indented, so it will always run, regardless of the IF condition.

print("Về nhà")

Run Result:

Mua một cái bánh

Mua một hộp sữa

Về nhà

Case 2: Missing Indentation (Python reports a Syntax Error) If you forget to indent, the program will immediately report an error because Python doesn't know if the statement print("Mua một cái bánh") belongs to the if condition or not.

co_tien = True


if co_tien:

print("Mua một cái bánh") # ERROR: Indentation is required here!

print("Mua một hộp sữa")

Run Result:

IndentationError: expected an indented block

Programming Rules for Indentation:

- Consistency: You must use indentation consistently throughout the entire program (usually 4 spaces for each level of indentation)

- When is Indentation Needed? Whenever you use statements that create a new code block, such as:

    + Conditionals: if, elif, else

    + Loops: for, while

    + Functions: def

    + Classes: class In summary: Indentation not only makes Python code more readable but is also a mandatory part of the syntax. If you indent incorrectly, the program will not run.

4.4 Comments

What is a Comment?

You can imagine a Comment as the quick notes you write in the margin of a book or a small explanation in your exercise notebook.

A Comment is text that you write in a Python program, but these lines are only for human readers (you, colleagues, friends, or the teacher). The Python Interpreter will completely ignore them when running the program.

Most Important Uses:

- Explain Code: Helps you (or others) understand what a complex piece of code is doing, or why you wrote it that way

- Temporarily Disable Code: Helps you temporarily turn off a statement to check for bugs, without having to delete it.

How to Create Comments in Python

In Python, there are two main ways to create comments:

Single-line Comment (Using the # sign)

To turn a line into a Comment, simply place the hash sign (#) at the beginning of the line or after a statement.

Example:

# This is a comment, Python will not execute this line.


ten = "Bình"

diem = 10 # Comment next to the statement: Assigns the maximum score

print(f"Họ tên: {ten}")

print(f"Điểm số: {diem}")

Multi-line Comment (Using three double quotes """)

If you have many lines you want to annotate (e.g., describing the entire program or a large function in detail), you can use three double quotes (""") at the start and end of the comment block.

Example:

"""

This program was written on 18/11/2025.

Purpose: Calculate the sum and difference of two numbers.

Programmer: Student 8A.

"""

so_a = 5

so_b = 3

tong = so_a + so_b

print(f"Tổng là: {tong}")

In summary: Comments are tools that make your code easier to understand and maintain, and the computer will not execute them.

4.5 Exercises and Questions

Exercise

Exercise 4a. Write and run the code snippets in the theoretical section.

Questions

Question 4.1 What is a Program? Which statement is incorrect?

A. A program is a collection of statements

B. A statement is a single, complete instruction that you give to the computer

C. Each statement asks the computer to perform a specific action

D. A Python program consists of 0s and 1s

Question 4.2 What is the interpretation and execution process? Which statement is incorrect?

A. You write a Python statement (e.g., print("Xin chào")). The Python Interpreter (python.exe) reads this line of code. 

B. The Interpreter translates the Python statement into English. 

C. The computer executes the machine code (displays "Xin chào" on the screen). 

D. This process repeats until the end of the program.

Question 4.3 Statements about indentation and comments. Which statement is incorrect?

A. Indentation is the act of shifting a piece of code inwards (usually using 4 spaces or 1 Tab key) relative to the right margin. 

B. Comments are used to explain the source code. 

C. Comments are used to temporarily disable code execution. 

D. Indentation is the act of shifting a piece of code inwards (usually using 4 spaces or 1 Tab key) relative to the left margin.

-----
Bài sau: