TRẦN NHẬT QUANG
PHẠM VĂN KHOA
GIÁO TRÌNH
LẬP TRÌNH PYTHON CĂN BẢN
NHÀ XUẤT BẢN
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TS. TRẦN NHẬT QUANG, TS. PHẠM VĂN KHOA
GIÁO TRÌNH
LẬP TRÌNH
PYTHON CĂN BẢN
NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA
THÀNH PHỐ HỒ CHÍ MINH – 2023
2
LỜI NĨI ĐẦU
Python hiện là ngơn ngữ lập trình phổ biến nhất thế giới1. Ưu điểm nổi bật
của Python là dễ học, dễ viết. Khơng những thế, Python cịn có một cộng
đồng người dùng lớn và hệ thống thư viện mã nguồn mở đồ sộ giúp bạn
hoàn thành các dự án của mình nhanh chóng và hiệu quả. Cho dù đó là một
dự án về phân tích dữ liệu, học máy, xử lý ảnh, game, điều khiển thiết bị,
hoặc chỉ đơn giản là tự động hóa các tác vụ trên máy tính của bạn, thì gần
như bạn đều có thể tìm thấy các thư viện Python hỗ trợ.
Quyển giáo trình này được biên soạn với mong muốn hỗ trợ hiệu quả cho
các bạn sinh viên học lập trình Python. Tiêu chí thứ nhất của nhóm biên
soạn là giúp người học lập trình lần đầu cũng có thể dễ dàng nắm bắt
được các khái niệm và kỹ thuật lập trình với Python. Tiêu chí thứ hai là cố
gắng trình bày nội dung một cách súc tích, nhưng vẫn đầy đủ, để những
bạn đã học qua lập trình có thể nhanh chóng làm quen và sử dụng được
Python khi học xong giáo trình.
Rất mong quyển giáo trình này sẽ hữu ích với các bạn! Nhóm biên soạn
cũng mong nhận được góp ý của độc giả để cải thiện giáo trình này ngày
càng tốt hơn. Xin cảm ơn các bạn!
1
Theo xếp hạng của TIOBE Index và PYPL Index cập nhật vào tháng 3 năm 2022.
3
4
MỤC LỤC
LỜI NÓI ĐẦU .......................................................................................... 3
MỤC LỤC ................................................................................................ 5
DANH MỤC HÌNH ẢNH ......................................................................... 8
Chương 1 GIỚI THIỆU VÀ CÀI ĐẶT PYTHON .................................. 9
1.1 Đơi nét về ngơn ngữ lập trình Python ............................................ 9
1.2 Lịch sử phát triển Python ............................................................. 10
1.3 Cài đặt Python .............................................................................. 11
1.4 Một số lời khuyên hữu ích cho những người mới ...................... 16
Chương 2 PHÉP TOÁN CƠ BẢN, BIẾN VÀ NHẬP XUẤT TRONG
PYTHON .............................................................................................. 18
2.1 Sử dụng VS Code như một máy tính cầm tay.............................. 18
2.2 Các phép toán ............................................................................... 19
2.3 Biến .............................................................................................. 21
2.4 Nhập xuất cơ bản ......................................................................... 23
2.5 Lệnh if .......................................................................................... 26
Bài tập có lời giải ................................................................................. 32
Bài tập thực hành ................................................................................. 33
Chương 3 VÒNG LẶP VÀ CẤU TRÚC DỮ LIỆU MẢNG ................ 35
3.1 Vòng lặp while ............................................................................. 35
3.2 Cấu trúc dữ liệu mảng .................................................................. 41
3.3 Vòng lặp for ................................................................................. 46
3.4 Break, continue và pass................................................................ 49
Bài tập có lời giải ................................................................................. 50
Bài tập thực hành ................................................................................. 51
Chương 4 NUMPY ................................................................................ 54
4.1 Giới thiệu về Numpy.................................................................... 54
4.2 Cài đặt thư viện numpy ................................................................ 54
4.3 Numpy arrays ............................................................................... 55
5
Bài tập thực hành ................................................................................. 58
Chương 5 SETS VÀ DICTIONARIES ................................................. 60
5.1 Sets............................................................................................... 60
5.2 Dictionaries .................................................................................. 62
Bài tập có lời giải ................................................................................. 67
Bài tập thực hành ................................................................................. 68
Chương 6 STRINGS .............................................................................. 69
6.1 Khái niệm và khởi tạo strings ...................................................... 69
6.2 Hàm xử lý strings ......................................................................... 71
Bài tập thực hành ................................................................................. 73
Chương 7 HÀM ..................................................................................... 74
7.1 Khái niệm và cú pháp .................................................................. 74
7.2 Một số ví dụ .....................................................................................74
7.3 Biến đoạn code bất kỳ thành hàm ................................................ 81
Bài tập có lời giải ................................................................................. 83
Bài tập thực hành ................................................................................. 84
Chương 8 LỖI VÀ SỬA LỖI ................................................................ 86
8.1 Các dạng lỗi trong lập trình ......................................................... 86
8.2 Xử lý lỗi runtime .......................................................................... 87
8.3 Xử lý lỗi logic .............................................................................. 90
8.4 Các lưu ý khi viết code để hạn chế lỗi ......................................... 95
Bài tập thực hành ................................................................................. 97
Chương 9 VẼ VỚI MATPLOTLIB ....................................................... 99
9.1 Cách thức vẽ trên màn hình kỹ thuật số ....................................... 99
9.2 Vẽ với thư viện matplotlib ......................................................... 100
9.3 Vẽ đồ thị trong tọa độ cực.......................................................... 106
9.4 Tùy chỉnh hình vẽ ...................................................................... 108
9.5 Vẽ trên nhiều phân vùng với subplotlib ..................................... 116
Bài tập thực hành ............................................................................... 120
6
PHỤ LỤC .............................................................................................. 122
Mã nguồn bài tập có lời giải chương 2 .............................................. 122
Mã nguồn bài tập có lời giải chương 3 .............................................. 127
Mã nguồn bài tập có lời giải chương 5 .............................................. 131
Mã nguồn bài tập có lời giải chương 7 .............................................. 135
Keywords của Python ........................................................................ 142
Cài đặt các thuật toán sắp xếp bằng Python ...................................... 145
Cài đặt các thuật tốn tìm kiếm trên mảng bằng Python ................... 151
Cài đặt các thuật tốn tìm kiếm trên chuỗi bằng Python ................... 158
INDEX ................................................................................................... 161
TÀI LIỆU THAM KHẢO ..................................................................... 163
7
DANH MỤC HÌNH ẢNH
Hình 1-1 Logo của Python. Nguồn: Python Software Foundation ............ 9
Hình 1-2 Cài đặt Python bằng cách tick vào ô Add Python... to PATH ở
cửa sổ cài đặt đầu tiên. ............................................................................. 12
Hình 1-3 Giao diện của Visual Studio Code. .......................................... 12
Hình 1-4 Giao diện trang OnlineGDB. .................................................... 16
Hình 1-5 Ứng dụng Pydroid 3 trên Google Play. .................................... 16
Hình 2-1 Lưu đồ của khối lệnh if. ........................................................... 28
Hình 3-1 Lưu đồ hoạt động của vòng lặp while. ..................................... 35
Hình 3-2 Lưu đồ hoạt động của vịng lặp for. ......................................... 47
8
Chương 1
GIỚI THIỆU VÀ CÀI ĐẶT PYTHON
1.1 Đôi nét về ngơn ngữ lập trình Python
Python là một ngơn ngữ lập trình cấp cao và đa dụng (generalpurpose) được phát triển bởi Guido van Rossum. Phiên bản đầu tiên của
nó được phát hành vào năm 1991. Tên của nó được đặt theo chương trình
hài Monty Python1 của Anh như một cách phản ánh triết lý thiết kế của
Python: một ngôn ngữ lập trình thú vị khi sử dụng.
Hình 1-1 Logo của Python.
Nguồn: Python Software Foundation
Triết lý của ngơn ngữ lập trình Python được mô tả bằng những cách
ngôn trong tài liệu The Zen of Python (PEP 20) như:
▪
▪
▪
▪
Simple is better than complex (tạm dịch: Đơn giản tốt hơn phức
tạp).
Complex is better than complicated (tạm dịch: Phức hợp tốt hơn
phức tạp).
Explicit is better than implicit (tạm dịch: Tường minh tốt hơn là
ngầm định).
Readability counts (tạm dịch: Lưu tâm đến sự dễ đọc hiểu).
Với những triết lý đó, Python hướng tới sự đơn giản, ngắn gọn
trong mã lệnh của mình. Bạn sẽ cảm nhận được điều này khi bắt đầu lập
trình với Python và so sánh nó với các ngơn ngữ như C/C++, Java.
Đến nay, Python đã được phát triển qua nhiều phiên bản. Hai nhóm
phiên bản được sử dụng hiện nay là Python 2.x và Python 3.x. Tuy nhiên,
1
Theo General Python FAQ, docs.python.org
9
các phiên bản 2.x đã khơng cịn được hỗ trợ đầy đủ từ ngày 1/1/20201.
Phiên bản mới nhất của Python là 3.10 (phát hành ngày 4/10/2021)2.
1.2 Lịch sử phát triển Python3
Python được bắt đầu phát triển vào cuối những năm 1980 bởi
Guido van Rossum tại Centrum Wiskunde & Informatica (CWI), Hà Lan
như một ngôn ngữ kế thừa của ngôn ngữ lập trình ABC có khả năng xử lý
ngoại lệ và giao tiếp với hệ điều hành Amoeba.
Python được bắt đầu phát triển vào tháng 12 năm 1989. Vào thời
điểm đó, van Rossum là tác giả duy nhất của dự án, với tư cách là nhà phát
triển chính, cho đến ngày 12 tháng 7 năm 2018. Vào tháng 1 năm 2019,
các nhà phát triển cốt lõi Python đã bầu ra một Hội đồng chỉ đạo gồm năm
thành viên để lãnh đạo dự án.
Python 2.0 được phát hành vào ngày 16 tháng 10 năm 2000, với
nhiều tính năng mới. Python 3.0, được phát hành vào ngày 3 tháng 12 năm
2008, với nhiều tính năng chính vẫn hỗ trợ ngược Python 2.6.x và 2.7.x.
Các bản phát hành của Python 3 tích hợp tiện ích 2to3 giúp dịch mã tự
động từ Python 2 sang Python 3.
Python 2.7 ban đầu được chỉ định sẽ chấm dứt hoạt động vào
năm 2015, nhưng sau đó bị hỗn lại đến năm 2020 vì những lo ngại về
việc chuyển đổi các code Python 2 hiện có sang Python 3. Từ thời điểm
đó, Python 2 khơng nhận được thêm bất kỳ bản vá bảo mật hoặc cải tiến
nào nữa.
Sau khi Python 2 bị ngừng hỗ trợ, chỉ còn Python 3.6.x và các phiên
bản mới hơn được hỗ trợ. Một thời gian sau, Python 3.6 cũng bị ngừng hỗ
trợ. Đến năm 2021, Python 3.9.2 và 3.8.8 được phát triển vì tất cả các phiên
bản Python trước (bao gồm 2.7) đều có vấn đề bảo mật có thể khiến máy
tính bị thực thi mã từ xa và nhiễm độc bộ nhớ web cache.
Vào năm 2022, Python 3.10.4 và 3.9.12 được phát triển và các bản
cũ hơn bao gồm 3.8.13 và 3.7.13 được cập nhật vì nhiều vấn đề bảo mật.
1
Theo PEP 373 -- Python 2.7 Release Schedule
Theo PEP 619 -- Python 3.10 Release Schedule
3
Theo />2
10
1.3 Cài đặt Python
Có nhiều cách khác nhau để lập trình với Python. Phần này mơ
tả ba cách phù hợp với các nhóm người dùng với điều kiện về thiết bị
khác nhau.
Cách 1. Lập trình Python trên máy tính sử dụng VS Code
Nếu bạn sở hữu một máy tính cá nhân thì nên dùng cách này để
tận dụng được đầy đủ chức năng của Python một cách thuận tiện.
Trước tiên, bạn cần cài đặt trình biên dịch Python (Python
interpreter). Nên chọn phiên bản Python 3.7 hoặc mới hơn.1 Một lưu ý
khi cài đặt Python intepreter là bạn nên tick vào ô “Add Python ... to
PATH” ở cửa sổ cài đặt đầu tiên (xem Hình 1-2).
Sau khi đã cài đặt xong trình biên dịch Python, bạn nên cài đặt một
editor (trình soạn thảo) hoặc một IDE (Integrated Development
Environment) để lập trình Python được dễ dàng hơn. Có nhiều editor,
IDE khác nhau hỗ trợ lập trình Python. Trong giáo trình này, chúng tôi
khuyến nghị sử dụng Visual Studio Code2 (VS Code). Editor này có các
ưu điểm như:
▪
▪
▪
▪
Miễn phí, mã nguồn mở, hỗ trợ nhiều nền tảng (Windows, Linux,
Mac).
IntelliSense: giúp viết code nhanh chóng hơn bằng cách đưa ra các
lựa chọn tự động hồn thành code cho bạn.
Hỗ trợ tìm và sửa lỗi (debug) hiệu quả.
Nhiều extension hữu ích: như kết nối với Git, đọc file Jupyter
Notebook (.ipynb), hỗ trợ Docker.
1
Download Python phiên bản mới nhất tại Với
những phiên bản cũ, download tại />2
Download bản cài đặt VS Code tại />11
Hình 1-2 Lưu ý: Khi cài đặt Python nên tick vào ô Add Python ... to PATH để
thuận tiện chạy các Scripts Python về sau..
Hình 1-3 Giao diện của Visual Studio Code.
Sau khi cài đặt VS Code xong, bạn nên thực hiện các bước sau để tạo một
file code Python đầu tiên và cũng để VS Code hoàn tất cài đặt các extension
hỗ trợ lập trình Python.
12
1. Chọn File > Open Folder…
2. Tạo mới hoặc chọn một thư mục rồi nhấn Select Folder.
Lưu ý: đối với máy tính sử dụng Windows, bạn nên chọn một thư
mục trong ổ D: hoặc một ổ đĩa mà bạn có đầy đủ quyền chạy các
mã lệnh. Không dùng các thư mục có tên “python” hoặc “code”
vì có thể gây lỗi về sau. Tên và đường dẫn thư mục tốt nhất là
không chứa khoảng trắng và không chứa dấu tiếng Việt.
13
3. Nhấn vào biểu tượng
và nhập tên file.
Lưu ý: Tên file phải có phần mở rộng .py. Khơng nên dùng tên file
python.py hoặc code.py để tránh bị lỗi khi chạy. Tên file tốt nhất là
không chứa khoảng trắng và không chứa dấu tiếng Việt.
4. Sau khi tạo file xong, VS Code có thể hỏi bạn có muốn cài đặt
extension cho Python không. Hãy chọn Install.
5. Nhập nội dung sau đây vào file vừa tạo:
#%%
print("Xin chao!")
6. Nhấn Shift-Enter để chạy.
Lưu ý: Lúc này VS Code có thể hỏi bạn muốn cài đặt các
extension hỗ trợ không, hãy chọn Install.
7. Nếu kết quả hiện ra như hình sau tức là bạn đã hồn thành cài đặt
và chạy thành cơng đoạn lệnh Python đầu tiên.
8. Chọn File > Auto Save để VS Code tự động lưu code.
Lưu ý: Nếu không dùng Auto Save thì phải lưu (Save) file code
thủ cơng bằng cách nhấn Ctrl-S mỗi khi muốn lưu.
14
Cách 2. Lập trình Python trên máy tính sử dụng trình duyệt web
Nếu bạn sử dụng máy tính cơng cộng hoặc một máy tính khơng thể
cài đặt Python thì bạn có thể sử dụng trình duyệt web có kết nối internet
và truy cập vào địa chỉ sau để lập trình Python:
/>Lưu ý: Cách này không đảm bảo hỗ trợ đầy đủ chức năng của
Python. Chỉ nên dùng khi không thể cài đặt Python và VS Code như
cách 1.
15
Hình 1-4. Giao diện trang OnlineGDB.
Cách 3. Lập trình Python sử dụng smartphone
Trong trường hợp khơng có máy tính, bạn vẫn có thể lập trình
Python bằng cách sử dụng smartphone và cài đặt ứng dụng Pydroid 3
(hoặc một ứng dụng tương tự).
Lưu ý: cách này khơng được khuyến khích sử dụng vì khơng hỗ trợ
đủ tính năng của Python. Chỉ nên sử dụng tạm thời cách này trong một thời
gian ngắn khi khơng thể dùng máy tính.
Hình 1-5 Ứng dụng Pydroid 3 trên Google Play.
1.4 Một số lời khuyên hữu ích cho những người mới
Lập trình là một kỹ năng. Vì vậy nếu muốn lập trình tốt khơng có
cách nào khác ngồi thực hành. Tự mình thực hành càng nhiều càng tốt!
Một số kinh nghiệm khi luyện lập trình:
16
▪
Cảm thấy không hiểu rõ khi lần đầu học về một khái niệm, kỹ năng
lập trình. Điều này là hồn tồn bình thường! Bạn chỉ cần bỏ thêm
chút thời gian xem lại một vài lần, rồi tự mình ngồi code lại nội
dung được học thì sẽ dần dần hiểu rõ.
Thậm chí đơi khi bạn đã rất cố gắng mà vẫn cảm thấy khơng hiểu rõ
hết. Khơng sao cả! Có một hiện tượng là: dường như não của chúng
ta tự động tổng hợp kiến thức mà nó từng biết qua. Sau một học kỳ,
hoặc vài tháng, thậm chí một năm sau, bạn sẽ ngạc nhiên khi gặp lại
kiến thức lúc trước bạn thấy bế tắc: lúc này bạn hiểu nó rất rõ ràng!
Vì vậy, đừng ngại khi học qua một lần mà chưa hiểu rõ.
▪
▪
▪
Keep learning!
Những lần đầu lập trình đơi khi giống học thuộc lòng, sao chép code.
Tức là bạn xem code mẫu rồi gõ lại giống như vậy. Điều này cũng
hồn tồn bình thường! Học thuộc ln ln là một phần của việc thu
nạp kiến thức.
Đừng ngại ngồi gõ lại code mẫu. Tự mình gõ lại code khác xa với
việc ngồi nhìn code và nghĩ rằng mình hiểu. Gõ lại code giúp bạn trải
nghiệm lập trình. Khi bạn gõ và chạy code, bạn sẽ tự nhiên ghi nhớ,
tư duy và phát hiện các lỗi, các vấn đề trong đoạn lệnh. Bạn sẽ hiểu
nó cặn kẽ và từ từ sẽ tự viết được các đoạn code theo ý mình.
Internet có thể rất hữu ích. Nếu gặp những lỗi khó hiểu khi lập
trình, hoặc nghĩ mãi chưa ra cách lập trình cho một vấn đề, bạn có
thể thử google. Nhiều khả năng bạn sẽ tìm được lời giải từ các diễn
đàn, các bài viết về lập trình.
Tuy nhiên, đừng lạm dụng! Lúc nào cũng tra google trước khi tự
mình tìm cách giải quyết, hoặc chỉ copy code mà không hiểu, chắc
chắn sẽ có hại cho bạn!
Ngồi ra, bạn cũng nên cẩn thận với vấn đề đạo văn (plagiarism).
Nên tìm hiểu về quy định bản quyền của đoạn code mà bạn định sử
dụng và nhớ phải ghi nguồn.
▪
Thực hành càng nhiều càng tốt!
17
Chương 2
PHÉP TOÁN CƠ BẢN, BIẾN
VÀ NHẬP XUẤT TRONG PYTHON
Chương này giúp bạn làm quen với các phép toán cơ bản, khái niệm
biến (variables) trong lập trình và các hàm cơ bản để nhập xuất dữ liệu
trong Python.
2.1 Sử dụng VS Code như một máy tính cầm tay
Phần này demo một số cách thực thi lệnh Python với VS Code. Bạn
có thể tận dụng những cách này để biến VS Code với Python thành một
cơng cụ tính tốn như máy tính cầm tay (calculator).
Lưu ý: Trước khi có thể chạy code Python trong VS Code, bạn cần
Cài đặt Python (xem mục 1.3 Cài đặt Python).
Sau đây giới thiệu ba cách thực thi lệnh Python trong VS Code.
Cách 1. Tạo và thực thi cell
Để tạo một cell, bạn dùng cú pháp #%% Tên gợi nhớ cho cell
như ví dụ sau:
Để chạy cell, bạn đặt con nháy vào 1 dòng bất kỳ trong cell (nằm giữa 2
đường kẻ màu xanh như trong hình trên), và nhấn Run Cell (nằm ở ngay
phía trên dịng #%%) hoặc sử dụng tổ hợp phím tắt Shift-Enter.
Khi bạn chạy cell lần đầu tiên, VS Code sẽ load Python interpreter rồi mới
thực thi code nên mất thời gian một chút. Từ lần chạy thứ 2, code sẽ được
thực thi ngay vì Python interpreter đã được load vào bộ nhớ rồi.
Cách 2. Thực thi code trong cửa sổ interactive
Để sử dụng cách này trước tiên bạn phải chạy ít nhất một cell theo
cách 1 để VS Code load Python interpreter và khởi tạo cửa sổ interactive
(như hình dưới).
18
Trong cửa sổ interactive, bạn có thể nhập code vào dịng lệnh (nằm
dưới cùng cửa sổ interactive, tại vị trí có ghi dịng chữ Type ‘python’ code
here and press Shift+Enter to run (như hình dưới). Khi nhập xong, nhấn
Shift+Enter để thực thi.
2.2 Các phép toán
Python hỗ trợ các phép toán cơ bản như mơ tả trong bảng sau.
Phép tốn
Cú pháp
Code mẫu
Kết quả
Trị tuyệt đối
abs()
abs(-2)
2
Cộng
+
2+5
7
Trừ
-
3-1
2
Nhân
*
3*2
6
19
Chia
/
5/2
2.5
Chia lấy dư
%
7%2
1
Lũy thừa
**
3**2
9
Lũy thừa 10
e
4e3
4*103 = 4000
Số phức
j
2 + 5j
2 + 5i
Nếu bạn muốn tính những hàm tốn học khác như khai căn, lượng giác, thì
cần sử dụng package math. Cú pháp như sau:
import math
math.cos(3.14)
Một số hàm toán học được liệt kê trong bảng bên dưới1:
Phép toán
Cú pháp
Code mẫu
Kết quả
Số π
math.pi
math.pi
3.1415…
Số e
math.e
math.e
2.7182
Vô cùng
math.inf
math.inf
inf
Cosine
math.cos()
math.cos(3.14)
-0.9999
Sine
math.sin()
math.sin(2*3.14)
-0.0031
Arc cosine
math.acos()
math.acos(1)
0
Arc sine
math.asin()
math.asin(-1)
-1.5707
Tangent
math.tan()
math.tan(5)
-3.3805
Trị tuyệt đối
math.fabs()
math.fabs(-5.6)
5.6
Ước chung lớn nhất math.gcd()
math.gcd(20, 90)
10
Hàm mũ
math.exp()
math.exp(5)
148.4131
Hàm log
math.log()
math.log(8)
2.0794
math.log(8, 2)
3
Căn bậc 2
math.sqrt()
math.sqrt(9)
3
Ghi chú: Khi cần tra cứu thơng tin của một hàm, bạn có thể dùng cú pháp
với dấu chấm hỏi, ví dụ: lệnh math.log? sẽ hiện thông tin về hàm log.
1
Xem bảng liệt kê đầy đủ tại />
20
2.3 Biến
Biến (variables) là một trong những khái niệm căn bản nhất trong
lập trình. Một biến có thể xem như một nơi chứa dữ liệu đơn giản, phục vụ
cho các tác vụ được lập trình. Ví dụ, khi viết chương trình vẽ đồ thị của
một hàm số bậc 2 có dạng y = ax2 + bx + c, ta có thể tạo ra các biến để lưu
giá trị của các hệ số a, b và c.
Để tạo ra một biến, bạn cần tuân theo các quy định cú pháp (syntax)
tạo biến. Trong Python các quy định về biến như sau:
1. Để tạo biến trong Python, bạn chỉ cần ghi tên biến và gán giá trị
cho nó, ví dụ các dịng sau lệnh (chú ý mỗi dòng lệnh phải nằm
trên một hàng riêng, dùng phím Enter để xuống dịng):
so1 = 4
so2 = 15
đã tạo ra 2 biến có tên so1, so2 với các giá trị là 4, 15 tương ứng.
Ghi chú: [Dành cho bạn nào đã biết ngơn ngữ lập trình như C,
C++] Python không yêu cầu khai báo biến hoặc khai báo kiểu dữ
liệu cho biến. Khi bạn gán giá trị cho biến, Python sẽ tự động xác
định kiểu dữ liệu cho biến đó.
2. Tên biến phải bắt đầu bằng chữ cái hoặc dấu _ (dấu dash tạo ra
bằng cách nhấn tổ hợp phím Shift -)
Ví dụ: các biến so1, _so1 và _1so là hợp lệ, nhưng biến 1so là
không hợp lệ vì bắt đầu bằng chữ số 1.
3. Tên biến không được chứa khoảng trắng hoặc ký tự đặc biệt
(ký tự đặc biệt là các ký tự không phải chữ cái và chữ số (ngoại trừ
dấu dash _), ví dụ @, &, ! là một số ký tự đặc biệt).
21
Ví dụ: các biến phuongtrinh1 và phuong_trinh_1 là hợp lệ,
nhưng
biến
phuong
trinh1,
phuongtrinh-1,
phuongtrinh#1 là không hợp lệ.
4. Tên biến phải khác keywords của Python. Trong Python, cũng như
các ngơn ngữ lập trình khác, một số từ đã được dành riêng cho các
chức năng của ngơn ngữ, ví dụ if, for, while. Vì vậy bạn
khơng được dùng nhũng từ này đặt tên biến.
Ví dụ: các biến có tên if, for, break, import là khơng hợp
lệ vì chúng là các keywords, nhưng các biến if1, for_,
break_A một thì hợp lệ vì có chứa thêm các ký tự khác nên khơng
cịn là keywords.
Ghi chú: để nhận biến một từ có phải keyword khơng, bạn quan sát
màu sắc của nó trong VS Code (VS Code tự chuyển từ thành màu
xanh da trời nếu là keyword). Xem danh sách các keywords trong
phần Phụ lục.
5. Tên biến có phân biệt chữ hoa và chữ thường.
Ví dụ: biến so1 và So1 là 2 biến khác nhau.
Ghi chú: mặc dù bạn có thể tạo ra 2 biến so1 và So1 trong một
chương trình, tuy nhiên, một kinh nghiệm viết code tốt là bạn nên
tránh tạo ra những biến quá giống nhau vì chúng dễ gây nhầm
lẫn và dễ dẫn tới lỗi khi lập trình.
Ngồi các quy định cú pháp bắt buộc ở trên, khi lập trình bạn cũng
nên tuân theo các kinh nghiệm đặt tên biến sau đây sẽ giúp code của bạn
được chuyên nghiệp hơn, khó bị mắc lỗi hơn.
1. Tránh đặt tên biến trùng với tên hàm cài sẵn (built-in
functions). Hàm cài sẵn là các hàm được cung cấp mặc định trong
Python hoặc các packages (xem mục 4.2), ví dụ hàm print,
input. Việc đặt tên biến trùng với tên hàm cài sẵn sẽ làm chương
trình có thể gặp lỗi khi bạn gọi các hàm này sau khi đã tạo biến.
Bạn có thể chạy thử dịng code sau:
print("Xin chao")
Sau đó, chạy đoạn code sau:
print = 5
print("Xin chao")
22
Để ý rằng lần chạy dịng lệnh print thì hàm sẽ hoạt động bình
thường. Nhưng khi chạy đoạn code có dòng print = 5 (tức là ta
tạo ra biến tên print và gán giá trị 5 cho nó) thì hàm sẽ báo lỗi.
Để xử lý lỗi này, bạn chạy lệnh del print để xóa biến print trong
bộ nhớ, khi đó hàm print sẽ hoạt động trở lại.
Ghi chú: Trong VS Code, để kiểm tra xem một từ có trùng tên hàm
cài sẵn khơng, bạn nhấn tổ hợp phím Ctrl-Space (thanh cách). Nếu
là hàm cài sẵn thì sẽ xuất hiện bảng thơng tin như hình dưới:
2. Đặt tên biến có ý nghĩa. Kinh nghiệm đơn giản này đã được chứng
minh trong thực tế có thể giúp cải thiện đáng kể code của bạn: dễ
đọc, dễ bảo trì, sửa lỗi và dễ phát triển hơn. Điều này đặc biệt cần
thiết khi bạn viết những chương trình phức tạp và code được viết
bởi một nhóm nhiều người. Đừng ngại các tên dài, chỉ ngại các tên
khó hiểu!
Ví dụ: Thay vì đặt tên biến là a, N, f, g, bạn hãy đặt: he_so_a,
so_thiet_bi, ham_loc_du_lieu, ham_phan_tich sẽ giúp
chương trình của bạn dễ đọc hơn rất nhiều.
Ghi chú: Để liệt kê các tên bạn đã tạo, dùng lệnh whos. Để xóa một biến,
dùng lệnh del ten_bien, ví dụ del he_so_a.
2.4 Nhập xuất cơ bản
Dữ liệu đưa vào chương trình có thể thơng qua việc gán trực tiếp
vào biến (như mục trên), hoặc nhập từ bàn phím, từ các thiết bị chuyên
dụng (cảm biến, camera), hoặc từ file dữ liệu. Bên dưới giới thiệu cách
nhập dữ liệu cơ bản từ bàn phím.
Để nhập dữ liệu từ bàn phím bạn có thể dùng hàm input(), như
các ví dụ sau:
#%% Ví dụ 1: nhập chữ
ho_ten = input('Xin nhap ho ten:')
23
#%% Ví dụ 2: nhập số nguyên
so_thiet_bi = int(input('Nhap so thiet bi:'))
#%% Ví dụ 3: nhập số thực
diem_trung_binh = int(input('Nhap diem trung binh:'))
Trong ví dụ 1, khi chạy dịng lệnh nhập sẽ xuất hiện ô đợi người
dùng nhập tên như sau (trong VS Code ô này xuất hiện ở trên cùng của cửa
sổ VS Code):
Sau khi người dùng nhập tên và nhấn Enter thì tên được nhập sẽ
được lưu vào biến ho_ten.
Trong ví dụ 2, để ý trong dịng lệnh nhập có hàm int(), hàm này
có cơng dụng kiểm tra và chuyển đổi dữ liệu được nhập thành kiểu số
nguyên. Khi chạy ví dụ này bạn cũng sẽ thấy xuất hiện ô nhập tương tự
như trên, nhưng lưu ý rằng, bạn cần nhập số ngun, nếu khơng chương
trình sẽ báo lỗi.
Trong ví dụ 3, đoạn lệnh nhập tương tự ví dụ 2, chỉ khác ở hàm
float() thay cho hàm int(). Hàm float() đổi dữ liệu được nhập về kiểu
số thực.
Lưu ý: Khi không dùng hàm chuyển đổi kiểu dữ liệu (type casting)
như hàm int(), float(), thì dữ liệu trả về từ hàm input() sẽ có kiểu chữ
(string) và khơng thể thực hiện các phép toán.
Tương tự như việc nhập dữ liệu, việc xuất dữ liệu cũng có nhiều
cách khác nhau như gán trực tiếp vào biến (để sử dụng tiếp tục trong
chương trình), hoặc in chữ, vẽ hình lên màn hình, hoặc truyền tới các thiết
bị xuất (loa, máy in, thiết bị điều khiển), hoặc lưu xuống file. Bên dưới
giới thiệu cách in dữ liệu đơn giản ra màn hình.
Để in text lên màn hình, bạn có thể dụng hàm print() của Python
như các ví dụ bên dưới:
#%% Ví dụ 1: in trực tiếp văn bản
print("Xin chao")
24