Điều gì tạo nên sự khác biệt giữa một đoạn code Python hoạt động được và một đoạn code Python hiệu quả, dễ đọc và dễ bảo trì? Câu trả lời, trong rất nhiều trường hợp, nằm ở việc lựa chọn và sử dụng đúng cấu trúc.
Trong thế giới lập trình Python, “cấu trúc” là một khái niệm bao hàm hai khía cạnh quan trọng. Thứ nhất, đó là cấu trúc cú pháp – những quy tắc và từ khóa định hình nên logic của chương trình, như cách bạn ra quyết định với if-else
hay lặp lại một công việc với vòng lặp for
. Thứ hai, và cũng là trọng tâm của bài viết này, đó là
cấu trúc dữ liệu – cách bạn tổ chức, lưu trữ và quản lý dữ liệu để có thể truy cập và xử lý một cách hiệu quả nhất.
Bài viết này sẽ là kim chỉ nam toàn diện, một “hướng dẫn toàn tập” giúp bạn làm chủ cả hai khía cạnh này. Chúng ta sẽ bắt đầu từ những viên gạch cú pháp nền tảng nhất, sau đó đi sâu vào “bốn ông lớn” của cấu trúc dữ liệu tích hợp trong Python: List, Tuple, Dictionary, và Set. Chúng ta sẽ mổ xẻ, so sánh chúng trên bàn cân hiệu suất và tính năng, khám phá những “vũ khí bí mật” trong module collections
, và cuối cùng là mở ra cánh cửa đến với những cấu trúc dữ liệu nâng cao hơn.
Sau khi đọc xong bài viết này, bạn sẽ không chỉ hiểu cái gì mà còn hiểu tại sao và khi nào nên sử dụng mỗi cấu trúc, trang bị cho mình tư duy để viết code Python không chỉ chạy được, mà còn chạy nhanh, gọn gàng và chuyên nghiệp.
Phần 1: Giới thiệu – Nền tảng của mọi chương trình Python
Trước khi lặn sâu vào các cấu trúc dữ liệu phức tạp, điều quan trọng là phải nắm vững những viên gạch xây dựng nên mọi chương trình Python. Phần này sẽ trang bị cho bạn kiến thức cú pháp tối thiểu để có thể hiểu các ví dụ code trong toàn bộ bài viết.
1.1. Từ khóa (Keywords) và Định danh (Identifiers)
Từ khóa là những từ được dành riêng cho ngôn ngữ Python, có một ý nghĩa đặc biệt và không thể được sử dụng cho bất kỳ mục đích nào khác như đặt tên cho biến, hàm hay lớp. Chúng chính là bộ khung xương xác định cú pháp và cấu trúc của ngôn ngữ.
Python 3.7 có 33 từ khóa, và con số này có thể thay đổi một chút giữa các phiên bản. Một điểm cần lưu ý là tất cả các từ khóa đều được viết bằng chữ thường, ngoại trừ True
, False
, và None
.
Để xem danh sách đầy đủ các từ khóa trong phiên bản Python của bạn, bạn có thể chạy đoạn code sau:

Một số từ khóa quan trọng bạn sẽ gặp thường xuyên bao gồm: if
, else
, for
, while
, def
, class
, import
, return
, True
, False
, None
, and
, or
, not
.
Định danh (Identifiers)
Định danh là tên mà bạn, với tư cách là lập trình viên, đặt cho các thực thể trong code như biến, hàm, lớp, module, v.v.. Việc đặt tên đúng quy tắc và có ý nghĩa là một trong những kỹ năng quan trọng nhất để viết code dễ đọc.
Quy tắc đặt định danh:
- Có thể chứa các chữ cái (a-z, A-Z), số (0-9) và dấu gạch dưới (
_
). - Không được bắt đầu bằng một chữ số. Ví dụ,
bien1
là hợp lệ, nhưng1bien
là không hợp lệ. - Phải khác với các từ khóa.
- Không được chứa các ký tự đặc biệt như
!
,@
,#
,$
,%
. - Python phân biệt chữ hoa và chữ thường.
myVar
vàmyvar
là hai định danh khác nhau.
Quy ước đặt tên (Naming Conventions):
- Tên biến và hàm: Dùng chữ thường, các từ ngăn cách bởi dấu gạch dưới (phong cách snake_case). Ví dụ:
so_luong_sinh_vien
,tinh_tong()
. - Tên lớp: Dùng chữ hoa ở đầu mỗi từ (phong cách PascalCase hoặc CapWords). Ví dụ:
SinhVien
,LopHoc
. - Hằng số: Dùng chữ hoa toàn bộ, các từ ngăn cách bởi dấu gạch dưới. Ví dụ:
PI = 3.14
,MAX_CONNECTIONS = 10
. - Tên có ý nghĩa: Luôn đặt tên phản ánh mục đích của nó.
count = 10
rõ ràng hơn nhiều so vớic = 10
.
1.2. Cấu trúc Điều khiển Luồng (Control Flow)
Cấu trúc điều khiển luồng quyết định thứ tự thực thi các câu lệnh trong chương trình của bạn.
- Câu lệnh điều kiện (
if
,elif
,else
): Dùng để thực thi các khối code khác nhau dựa trên việc một điều kiện có đúng hay không. Đây là cách để chương trình của bạn “ra quyết định” và rẽ nhánh.

Vòng lặp for
: Dùng để lặp qua các phần tử của một đối tượng có thể lặp (iterable) như list, tuple, string, hoặc dictionary. Vòng lặp for
rất hữu ích khi bạn muốn thực hiện một hành động cho mỗi mục trong một bộ sưu tập. Hàm
range()
thường được sử dụng với for
để tạo ra một dãy số.

Vòng lặp while
: Thực thi một khối code lặp đi lặp lại miễn là một điều kiện cho trước vẫn còn đúng. Vòng lặp while
phù hợp khi bạn không biết trước số lần lặp.

Lệnh break
và continue
:
break
: Ngay lập tức thoát khỏi vòng lặp trong cùng (vòng lặpfor
hoặcwhile
gần nhất).continue
: Bỏ qua phần còn lại của lần lặp hiện tại và chuyển sang lần lặp tiếp theo của vòng lặp.

Leave a Reply