Tìm hiểu vì sao Python dễ học, làm quen với hai chế độ làm việc của Python và viết những câu lệnh đầu tiên — có phòng chạy mã thật để em thử ngay trên trình duyệt.
KHỞI ĐỘNG
Câu lệnh nào dễ hiểu nhất?
Cùng một yêu cầu — tính tổng của 5 và 3 — có thể viết bằng nhiều loại ngôn ngữ lập trình khác nhau. Em hãy quan sát ba cách viết dưới đây rồi dự đoán xem câu lệnh trong ngôn ngữ nào dễ đọc, dễ hiểu nhất.
Lưu ý: Chỉ cài ứng dụng từ cửa hàng chính thức và không cấp những quyền không cần thiết. Nếu chưa biết chọn cách nào, em hãy dùng Online Python để bắt đầu ngay.
KIẾN THỨC MỚI
1. Ngôn ngữ lập trình bậc cao
Các lệnh viết bằng ngôn ngữ máy ở dạng mã nhị phân hay hợp ngữ sử dụng một số từ viết tắt (thường là tiếng Anh) không thuận tiện cho việc viết hay hiểu chương trình. Khó khăn đó được giảm bớt khi lập trình bằng ngôn ngữ bậc cao với các câu lệnh được viết gần với ngôn ngữ tự nhiên. Tuy nhiên, để máy tính có thể hiểu và thực hiện, các chương trình đó cần được chuyển đổi sang ngôn ngữ máy nhờ một chương trình chuyên dụng gọi là chương trình dịch.
Hiện nay đã có nhiều ngôn ngữ lập trình bậc cao khác nhau, trong số đó Java, C/C++, Python,... là những ngôn ngữ lập trình thông dụng nhất.
Python là ngôn ngữ lập trình bậc cao do Guido van Rossum, người Hà Lan, tạo ra và ra mắt lần đầu năm 1991. Các câu lệnh của Python có cú pháp đơn giản. Môi trường lập trình Python dễ sử dụng, không phụ thuộc vào hệ điều hành, chạy trên nhiều loại máy tính, điện thoại thông minh, robot giáo dục,... Python có mã nguồn mở nên thu hút nhiều nhà khoa học cùng phát triển. Nhờ có các thư viện chương trình phong phú về trí tuệ nhân tạo, phân tích dữ liệu, kĩ thuật robot,... Python là ngôn ngữ lập trình được dùng phổ biến trong nghiên cứu và giáo dục.
GHI NHỚ
Ngôn ngữ lập trình bậc cao có các câu lệnh được viết gần với ngôn ngữ tự nhiên giúp cho việc đọc, hiểu chương trình dễ dàng hơn.
Python là một ngôn ngữ lập trình bậc cao phổ biến trong nghiên cứu và giáo dục.
Kiểm tra nhanh: Viết chương trình bằng loại ngôn ngữ lập trình nào dễ nhất?
2. Môi trường lập trình Python
Phần mềm Python là một môi trường lập trình cho phép soạn thảo chương trình bằng ngôn ngữ Python, hỗ trợ gỡ lỗi, phân tích cú pháp dòng lệnh và thực hiện các chương trình hoàn chỉnh hoặc từng câu lệnh. Môi trường lập trình Python có hai chế độ:
a) Chế độ gõ lệnh trực tiếp — thường được dùng để tính toán và kiểm tra nhanh các lệnh. Sau khi khởi động, màn hình làm việc (Shell) hiện dấu nhắc >>>; em gõ lệnh rồi nhấn Enter để thực hiện ngay.
Python 3.9.1 Shell
Python 3.9.1 (tags/v3.9.1, Dec 7 2020)
Type "help", "copyright" or "license()" for more information.
>>>
b) Chế độ soạn thảo — cho phép soạn thảo chương trình hoàn chỉnh gồm nhiều dòng lệnh bằng cách chọn File/New File, sau đó lưu tệp (Ctrl + S) và chạy bằng Run/Run Module hoặc phím F5.
Bai1.py
# Chương trình đầu tiên
print("Xin chào!")
GHI NHỚ
Môi trường lập trình của Python có hai chế độ: chế độ gõ lệnh trực tiếp và chế độ soạn thảo.
3. Một số lệnh Python đầu tiên
Ví dụ 1. Các lệnh đầu tiên — Python tự nhận biết kiểu dữ liệu khi em nhập số hoặc xâu kí tự.
>>> 5
5>>> 2.6
2.6>>> "học sinh lớp 10"
'học sinh lớp 10'
Ví dụ 2. Các lệnh với phép toán — Python thực hiện ngay các phép toán thông thường: cộng (+), trừ (−), nhân (*) và chia (/).
>>> 3 + 7
10>>> 12 * 5
60
Ví dụ 3. Lệnh print() dùng để đưa dữ liệu ra màn hình, có thể in một hoặc nhiều giá trị đồng thời và cũng có thể tính toán rồi in kết quả của biểu thức.
>>> print(12)
12>>> print("Dãy ba số chẵn:", 2, 4, 6)
Dãy ba số chẵn: 2 4 6>>> print("3 + 7 =", 3 + 7)
3 + 7 = 10
Cú pháp: print(v1, v2, ..., vn) — trong đó v1, v2,..., vn là các giá trị cần đưa ra màn hình, cách nhau bởi dấu phẩy.
GHI NHỚ
Khi nhập giá trị số hoặc xâu kí tự từ dòng lệnh, Python tự nhận biết kiểu dữ liệu.
Python có thể thực hiện các phép toán thông thường với số, phân biệt số thực và số nguyên.
Lệnh print() có chức năng đưa dữ liệu ra màn hình, có thể in ra một hoặc nhiều giá trị đồng thời.
Hình 16.5. Đường đi của một chương trình Python từ lúc viết mã đến khi thấy kết quả.
THỰC HÀNH
Viết chương trình Python đầu tiên
Nhiệm vụ: Sử dụng chế độ soạn thảo chương trình của Python để tạo, nhập và chạy chương trình đầu tiên có tên Bai1.py như sau:
# Chương trình đầu tiên
print("Xin chào!")
Hướng dẫn: Đánh dấu vào từng bước sau khi em đã thực hiện xong.
Bước 1.Nháy đúp chuột vào biểu tượng của Python để khởi động.
Bước 2.Chọn chế độ soạn thảo chương trình: trong môi trường lập trình Python, chọn File/New.
Bước 3.Nhập nội dung chương trình như trên.
Bước 4.Chọn File/Save hoặc nhấn tổ hợp phím Ctrl + S để lưu tệp.
Bước 5.Chọn Run/Run module hoặc nhấn phím F5 để thực hiện chương trình.
Bước 6.Để kết thúc phiên làm việc, đóng cửa sổ hoặc gõ lệnh quit() rồi nhấn Enter.
Đã hoàn thành 0 / 6 bước
PHÒNG CHẠY MÃ PYTHON
Thử chạy chương trình Python thật
Đây là một trình thông dịch Python chạy ngay trên trình duyệt (không cần cài đặt). Em có thể sửa mã trong ô bên dưới rồi bấm Chạy chương trình để xem kết quả.
print(10, 3.4 + 4.1, "hoà bình")
print("Dãy ba số chẵn:", 2, 4, 6)
print("3 + 7 =", 3 + 7)
ten = input("Bạn tên là gì? ")
print("Xin chào,", ten)
HOẠT ĐỘNG LỚP HỌC
Hai trò chơi nhỏ với Python
1. Dự đoán trước khi chạy
Em hãy dự đoán kết quả của từng lệnh dưới đây, gõ dự đoán vào ô bên cạnh, rồi bấm Kiểm tra dự đoán để xem mình đúng bao nhiêu câu. Sau đó có thể bấm Chạy Python để kiểm chứng để chạy thật và đối chiếu.
print(10 + 5)
print(10 - 5)
print(10 * 5)
print(10 / 5)
print(2 ** 3)
Mẹo cho giáo viên: có thể tổ chức thi đua theo nhóm — mỗi kết quả dự đoán đúng được 1 điểm.
Mỗi dòng lệnh dưới đây đều có một lỗi. Em hãy đọc kĩ, đoán xem lỗi nằm ở đâu và vì sao sai, rồi bấm vào từng dòng để xem chẩn đoán.
print("Xin chào"
Xem chẩn đoán của Bác sĩ Python
Lỗi: Thiếu dấu ngoặc đóng ).
Nguyên nhân: Sai cú pháp — mỗi dấu ( mở ra đều cần một dấu ) đóng lại tương ứng.
Sửa lại:print("Xin chào")
Print("Xin chào")
Xem chẩn đoán của Bác sĩ Python
Lỗi: Viết hoa chữ cái đầu — Print.
Nguyên nhân: Python phân biệt chữ hoa và chữ thường; chỉ có print (viết thường) là lệnh có sẵn, còn Print thì không tồn tại.
Sửa lại:print("Xin chào")
print(Xin chào)
Xem chẩn đoán của Bác sĩ Python
Lỗi: Thiếu dấu nháy quanh xâu kí tự.
Nguyên nhân:Xin chào là một xâu kí tự (không phải tên một biến đã được gán giá trị) nên phải đặt trong dấu nháy kép.
Sửa lại:print("Xin chào")
print(10 / 0)
Xem chẩn đoán của Bác sĩ Python
Lỗi: Chia cho 0.
Nguyên nhân: Đây là lỗi xảy ra khi thực hiện chương trình (không phải lỗi cú pháp) — phép chia cho 0 không có kết quả nên Python báo lỗi.
Sửa lại: đổi số chia khác 0, ví dụ print(10 / 2).
Lỗi
Nguyên nhân
Thiếu )
Sai cú pháp
Viết Print
Python phân biệt chữ hoa, chữ thường
Thiếu dấu nháy
Chuỗi phải được đặt trong dấu nháy
Chia cho 0
Lỗi khi thực hiện chương trình
LUYỆN TẬP
5 câu hỏi củng cố kiến thức
Câu 1 / 5
Câu 1. Vì sao ngôn ngữ lập trình bậc cao lại dễ sử dụng hơn ngôn ngữ máy?
Giải thích: Ngôn ngữ lập trình bậc cao dùng từ ngữ và cấu trúc gần với ngôn ngữ tự nhiên của con người nên dễ đọc, dễ viết hơn — nhưng vẫn cần một chương trình dịch để máy tính hiểu và thực hiện.
Câu 2. Python do ai tạo ra và ra mắt lần đầu vào năm nào?
Giải thích: Python do Guido van Rossum, người Hà Lan, tạo ra và ra mắt lần đầu năm 1991.
Câu 3. Trong môi trường lập trình Python, dấu nhắc >>> xuất hiện ở chế độ nào?
Giải thích: Dấu nhắc >>> là dấu hiệu của chế độ gõ lệnh trực tiếp — nơi em gõ từng lệnh và nhấn Enter để thực hiện ngay.
Câu 4. Để chạy chương trình đã soạn thảo (ví dụ Bai1.py), ta dùng thao tác nào?
Giải thích: Sau khi soạn thảo và lưu tệp, ta chọn Run/Run Module hoặc nhấn phím F5 để thực hiện chương trình.
Câu 5. Lệnh nào sau đây hiển thị đúng "Tổng là: 15" ra màn hình?
Giải thích: Cú pháp đúng là print(v1, v2, ..., vn) — các giá trị cách nhau bằng dấu phẩy trong ngoặc tròn; chuỗi kí tự phải đặt trong dấu nháy kép.
BÀI TẬP VÀ THỰC HÀNH (SGK)
Bài tập 16.1 – 16.10
Các câu hỏi dưới đây trích từ sách bài tập Tin học 10 (Kết nối tri thức), Bài 16. Em hãy tự làm trước, sau đó bấm vào từng câu trắc nghiệm hoặc "Xem đáp án" để tự kiểm tra.
16.1. Ngôn ngữ lập trình là gì?
16.2. Phát biểu nào sau đây đúng?
16.3. Em hãy truy cập Internet để tìm hiểu một số thông tin về Python và trả lời các câu hỏi sau:
a) Người tạo ra phiên bản đầu tiên của ngôn ngữ lập trình Python là người nước nào?
b) Em biết những hệ điều hành nào cho phép sử dụng Python?
c) Năm đầu tiên Python được xếp là một trong mười ngôn ngữ lập trình phổ biến nhất là năm nào?
d) Em có biết Python được chọn là "Ngôn ngữ lập trình của năm" vào năm nào không? Hãy liệt kê một vài năm mà em biết.
Gợi ý tra cứu
Đây là câu hỏi mở — em cần tự tra cứu để có thông tin cập nhật, chính xác nhất. Từ khoá gợi ý: "Guido van Rossum Python", "Python programming language history", "TIOBE Programming Language of the Year". Có thể tham khảo trang python.org hoặc bảng xếp hạng TIOBE Index.
16.4. Cú pháp các câu lệnh Python rất gần với ngôn ngữ tự nhiên. Dựa vào đặc điểm này em có thể dự đoán chương trình sau thực hiện việc gì không?
a = 5
b = 2
c = a + b
print(c)
Xem đáp án
Chương trình gán a = 5, b = 2, tính c = a + b = 7, rồi in giá trị của c ra màn hình. Kết quả in ra: 7.
16.5. Nếu trong chương trình nêu ở Câu 16.4 em thay lệnh thứ ba là c = a - b thì kết quả thực hiện chương trình sẽ như thế nào?
Xem đáp án
Lúc này c = a − b = 5 − 2 = 3, chương trình sẽ in ra màn hình giá trị 3 thay vì 7.
16.6. Kết quả của mỗi lệnh sau là gì? Kết quả đó có kiểu dữ liệu nào?
>>> 5/2
>>> 12 + 1.5
>>> "Bạn là học sinh lớp 10"
>>> 10 + 7//2
Xem đáp án
a) 5/2 → 2.5 (kiểu số thực – float), vì phép chia / luôn cho kết quả số thực.
b) 12 + 1.5 → 13.5 (kiểu số thực – float).
c) "Bạn là học sinh lớp 10" → 'Bạn là học sinh lớp 10' (kiểu xâu kí tự – string).
d) 10 + 7//2 → 7//2 = 3 (chia lấy phần nguyên), 10 + 3 = 13 (kiểu số nguyên – int).
16.7. Em hãy cho biết kết quả thực hiện các câu lệnh sau:
>>> print(2.5*4)
>>> print("2.5*4 =", 2.5*4)
Xem đáp án
a) print(2.5*4) → in ra 10.0.
b) print("2.5*4 =", 2.5*4) → in ra 2.5*4 = 10.0.
16.8. Em hãy cho biết kết quả thực hiện câu lệnh sau:
>>> print(3.4 + 4, "3.4 + 4", 15, "Mùa Xuân")
Xem đáp án
Kết quả in ra: 7.4 3.4 + 4 15 Mùa Xuân — vì 3.4 + 4 được tính trước thành 7.4, còn "3.4 + 4" là một xâu kí tự nên được in nguyên văn.
16.9. Em hãy viết các lệnh in ra màn hình thông tin như sau:
a) 1 × 3 × 5 × 7 = 105.
b) Bạn Hoa năm nay 16 tuổi.
Xem đáp án
print("1 x 3 x 5 x 7 =", 105)
print("Bạn Hoa năm nay 16 tuổi.")
16.10. Viết chương trình in ra bảng nhân 7 với các số tự nhiên nhỏ hơn 10.
Xem đáp án
for i in range(10):
print("7 x", i, "=", 7 * i)
Lệnh for sẽ được học kĩ hơn ở bài sau; nếu chưa học vòng lặp, em có thể viết 10 lệnh print() liên tiếp cho từng giá trị i từ 0 đến 9.
TỔNG KẾT
Những điều em đã học
Ngôn ngữ lập trình bậc cao có câu lệnh gần với ngôn ngữ tự nhiên nên dễ đọc, dễ viết hơn ngôn ngữ máy và hợp ngữ.
Python là ngôn ngữ lập trình bậc cao phổ biến, đa nền tảng, được dùng nhiều trong nghiên cứu và giáo dục.
Môi trường lập trình Python có hai chế độ: gõ lệnh trực tiếp và soạn thảo.
Lệnh print() dùng để đưa dữ liệu ra màn hình, có thể in nhiều giá trị cùng lúc và tính toán biểu thức.