Các Cú Pháp Python Cơ Bản Mà Bạn Nên Quan Tâm

Cú pháp Python

Trong bài này chúng ta sẽ cùng tìm hiểu các cú pháp Python cơ bản: chương trình Python chạy như thế nào, định danh và từ khóa, ghi chú, thụt đầu dòng, khối code và cách nhập xuất dữ liệu với console.

Python không khác quá nhiều so với C hay Java về tư duy lập trình. Cái làm nó khác biệt chính là cú pháp: gọn hơn, ít ký hiệu hơn, nhưng cũng có vài quy tắc bắt buộc mà người mới hay vấp. Nắm chắc phần này thì các bài sau về Python sẽ dễ hơn rất nhiều nhé.

Chương trình Python hoạt động như thế nào?

Trước khi đi vào cú pháp Python, chúng ta cần biết code Python được chạy ra sao. Mã nguồn Python chỉ là một file văn bản bình thường có đuôi .py. Bạn mở được nó bằng Notepad, hoặc bằng IDE như VS Code, PyCharm, Eclipse.

Khi chạy, trình thông dịch sẽ dịch file .py thành dạng trung gian gọi là bytecode. Sau đó máy ảo Python (Python Virtual Machine) sẽ chạy bytecode này trên từng nền tảng cụ thể.

Máy ảo này có sẵn cho Windows, macOS và Linux. Nhờ vậy cùng một file .py có thể chạy trên cả 3 hệ điều hành mà không cần sửa gì, đó là lý do Python được gọi là ngôn ngữ đa nền tảng.

Có 2 cách để chạy code Python:

  • Chế độ tương tác (interactive): gõ từng lệnh vào trình thông dịch và thấy kết quả ngay.
  • Chế độ kịch bản (script): viết code vào file .py rồi chạy cả file.
Giao diện code trong Python
Hình 1. Giao diện code trong Python

Định danh và từ khóa

Định danh (identifier) là tên bạn đặt cho biến, hàm, lớp hay một đối tượng bất kỳ. Tên định danh phải theo các quy tắc sau:

  • Chỉ gồm chữ cái, chữ số và dấu gạch dưới _.

  • Không được trùng với từ khóa.

  • Phải bắt đầu bằng chữ cái hoặc dấu gạch dưới, không được bắt đầu bằng số. Ví dụ sensor1 hợp lệ nhưng 1sensor thì báo lỗi.

Danh sách các keyword trong Python
Hình 2. Danh sách các keyword trong Python

Từ khóa (keyword) là những từ Python đã dành riêng cho cú pháp của nó, bạn không được dùng làm tên biến, hàm hay lớp. Một số từ khóa hay gặp:

and del for is raise
assert elif from lambda return
break else global not try
class except if or while
continue finally import pass with
def in yield

Lưu ý: Từ Python 3, print là một hàm chứ không còn là từ khóa như ở Python 2. Muốn xem danh sách từ khóa đầy đủ đúng với phiên bản Python đang cài (có cả True, False, None, nonlocal, async, await…), các bạn chạy import keyword rồi print(keyword.kwlist) là ra nhé.

Ví dụ về định danh và từ khóa:

# định danh
x = 10
my_variable = "Hello"

# từ khóa
if x > 5:
    print("x is greater than 5")

Ở đây x, my_variable là định danh do mình tự đặt, còn if là từ khóa của Python.

Dòng lệnh và ghi chú trong Python

Trong Python, ghi chú (comment) bắt đầu bằng dấu #. Mọi thứ phía sau dấu # trên dòng đó sẽ bị bỏ qua khi chạy, chỉ dùng để giải thích code cho người đọc.

Ví dụ:

print("Xin chào!") # Ghi chú ở đây

Mỗi dòng thường là một lệnh. Muốn viết nhiều lệnh trên một dòng thì ngăn cách bằng dấu ;. Ngược lại, một lệnh dài có thể tách ra nhiều dòng bằng dấu \, hoặc viết trong cặp ngoặc (), [], {} thì xuống dòng thoải mái.

# Viết trên một dòng
x = 10; y = 20

# Phân tách trên nhiều dòng bằng dấu \
total = x + \
    y

# Phân tách trên nhiều dòng trong cặp ngoặc
my_list = ['item_one', 'item_two', 'item_three',
           'item_four', 'item_five']

Ngoài ra Python có các câu lệnh điều khiển luồng chương trình như if-elif-else, while, for, try-except, with-as và def. Mỗi loại mình sẽ có bài riêng trong serie này.

Thụt đầu dòng trong Python

Đây là điểm khác biệt lớn nhất giữa Python và C. Trong C, khối lệnh được bao bởi cặp ngoặc nhọn {}, còn thụt đầu dòng chỉ để cho đẹp. Trong Python thì ngược lại: thụt đầu dòng (indentation) chính là cách Python biết dòng nào thuộc khối lệnh nào.

Các dòng trong cùng một khối phải thụt vào bằng nhau. Quy ước chung là dùng 4 khoảng trắng cho mỗi cấp.

Ví dụ:

def multiply_numbers(a, b):
    # Thụt vào 4 khoảng trắng: các dòng này thuộc hàm
    result = a * b
    return result

# Hết thụt đầu dòng: đã ra khỏi hàm

for i in range(10):
    # Thụt vào: dòng này thuộc vòng lặp
    print(i)

# Hết thụt đầu dòng: đã ra khỏi vòng lặp

Nếu thụt đầu dòng sai, Python sẽ báo IndentationError và chương trình không chạy được.

Lưu ý: Không trộn lẫn phím Tab và dấu cách trong cùng một file. Nhìn trên màn hình thì thẳng hàng nhưng Python vẫn báo lỗi thụt đầu dòng. Trong VS Code các bạn nên để mặc định Tab tự đổi thành 4 dấu cách.

Sơ lược về khối code trong Python

Khối code (code block) là một nhóm câu lệnh cùng thực hiện một việc, ví dụ thân của hàm, thân vòng lặp hay phần bên trong câu điều kiện. Khác với C, Python không dùng cặp ngoặc nhọn {} để giới hạn khối code. Một khối bắt đầu sau dấu hai chấm : và gồm tất cả các dòng thụt vào bằng nhau phía dưới.

Khối code trong Python
Hình 3. Khối code trong Python

Ví dụ:

x = 3

if x > 0:
    print("x là số dương")
    print("Đây là một khối mã")

for i in range(5):
    print("Giá trị của i là:", i)
    print("Đây là một khối mã")

Hai dòng print thụt vào dưới if là một khối, chỉ chạy khi điều kiện đúng. Tương tự, hai dòng print dưới for là một khối, chạy lại sau mỗi vòng lặp.

Thế nào là nhập và xuất dữ liệu với Console trong Python?

Chương trình nào cũng cần nhận dữ liệu từ người dùng và in kết quả ra. Trong Python, việc này dùng 2 hàm: input() để nhập và print() để xuất.

Ví dụ

# Nhập dữ liệu từ console
name = input("Nhập tên của bạn: ")
age = input("Nhập tuổi của bạn: ")

# In ra dữ liệu đã nhập
print("Chào mừng bạn", name)
print("Bạn", age, "tuổi")

Hàm input() hiện câu hỏi rồi chờ bạn gõ, giá trị gõ vào được lưu vào biến name và age. Sau đó print() in chúng ra màn hình.

Lưu ý: Hàm input() luôn trả về chuỗi (string), kể cả khi bạn gõ số. Nếu lấy luôn giá trị đó đi cộng thì “5” + “3” sẽ ra “53” chứ không phải 8. Muốn tính toán thì phải đổi sang số bằng int() hoặc float() nhé.

Ví dụ minh họa:

# Nhập dữ liệu từ console
a = int(input("Nhập số nguyên a: "))
b = float(input("Nhập số thực b: "))

# In ra kết quả của phép tính
sum = a + b
print("Tổng của a và b là:", sum)

Tổng kết

Cú pháp Python gọn hơn C rất nhiều, nhưng đổi lại thụt đầu dòng là bắt buộc và quyết định luôn cấu trúc chương trình. Người mới chuyển từ C sang thường vấp nhất ở chỗ này, nên các bạn chịu khó gõ lại các ví dụ trên cho quen tay nhé.

Nếu thấy bài viết này hay, hãy chia sẻ tới những người bạn đang học Python. Và nếu thắc mắc điều gì, hãy để lại bình luận nhé.

Rate this post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *