Giải Tin Học 10 trang 128
Lời giải chi tiết SGK Lớp 10 · Môn Tin Há»c · Trang 128–129
Nguon: Tin Hoc 10 - Ket Noi Tri Thuc Voi Cuoc Song (trang 128 – 129)
🔍 Kiến thức cần nhớ
1. Hàm là gì?
- Trong lập trình, người ta thường gom những khối lệnh được dùng lặp lại nhiều lần thành các chương trình con. Trong Python, các chương trình con chính là các hàm (function).
- Khi cần, ta chỉ việc gọi tên hàm thay vì viết lại cả khối lệnh.
2. Hàm thiết kế sẵn (hàm có sẵn) của Python
- Python cung cấp sẵn rất nhiều hàm:
abs(),len(),range(),bool(),float(),list(),round(),chr(),input(),ord(),str(),divmod(),int(),print(),type(), … - Cú pháp câu lệnh gọi hàm:
()
- Tham số của hàm là các giá trị, biến hoặc biểu thức được ghi bên trong cặp dấu ngoặc. Có trường hợp dấu ngoặc để trống, ví dụ
input().
3. Hàm tự định nghĩa
- Định nghĩa bằng từ khóa
def, theo sau là tên hàm (đặt theo quy tắc tên định danh). - Khối lệnh của hàm viết sau dấu
:và phải viết lùi vào, thẳng hàng. - Hàm có thể có hoặc không có tham số.
- Hàm có thể có hoặc không trả lại giá trị, dùng từ khóa
return.
💡 Mẹo nhớ: Cấu trúc một hàm gồm 4 phần:def→ tên hàm → (tham số) → khối lệnh thụt vào →return(nếu cần).
⚙️ Bài tập
Câu 1 (Hoạt động 1)
Đề bài: Quan sát một số câu lệnh trong Bảng 26.1 và cho biết những câu lệnh này có điểm chung gì.
Cách 1 — Quan sát hình thức trình bày
Các lệnh trong bảng: abs(), len(), range(), bool(), float(), list(), round(), chr(), input(), ord(), str(), divmod(), int(), print(), type().
Điểm chung dễ thấy nhất:
- Tất cả đều có một cặp dấu ngoặc đơn ( ) đặt ngay sau tên lệnh.
- Bên trong cặp ngoặc có thể ghi thêm các tham số (giá trị, biến, biểu thức), hoặc để trống.
Cách 2 — Quan sát bản chất
- Tất cả chúng đều là các hàm có sẵn (hàm thiết kế sẵn) của Python.
- Mỗi hàm thực hiện một công việc cụ thể và đa số trả lại một kết quả khi gọi.
- Khi sử dụng, ta đều dùng chung một cú pháp:
.( )
Kết luận: Điểm chung là tất cả đều là hàm, viết theo dạng tên hàm kèm cặp dấu ngoặc đơn, bên trong có thể chứa tham số.
⚠️ Lưu ý thi: Đừng nhầmrangevớirange(). Có dấu ngoặc mới là lời gọi hàm.
Câu 2 (Câu hỏi mục 1)
Đề bài: Mô tả tham số và giá trị trả lại của mỗi hàm sau: float(), str(), len(), list().
Cách 1 — Mô tả từng hàm theo bảng
a) Hàm float()
- Tham số: một số hoặc một xâu kí tự biểu diễn số (ví dụ
"3.14"). - Giá trị trả lại: số thực (kiểu
float) tương ứng. - Ví dụ:
float("3.14")trả lại3.14;float(5)trả lại5.0.
b) Hàm str()
- Tham số: một giá trị bất kì (số, biến, đối tượng…).
- Giá trị trả lại: xâu kí tự (kiểu
str) biểu diễn giá trị đó. - Ví dụ:
str(52)trả lại"52";str(3.14)trả lại"3.14".
c) Hàm len()
- Tham số: một dãy/đối tượng có độ dài như xâu kí tự, danh sách (list), tuple…
- Giá trị trả lại: số nguyên (kiểu
int) là số phần tử (độ dài) của đối tượng đó. - Ví dụ:
len("Python")trả lại6;len([1, 2, 3])trả lại3.
d) Hàm list()
- Tham số: một đối tượng có thể duyệt được (xâu, range, tuple…). Có thể để trống.
- Giá trị trả lại: một danh sách (kiểu
list) gồm các phần tử của đối tượng đó. - Ví dụ:
list("abc")trả lại['a', 'b', 'c'];list()trả lại danh sách rỗng[].
Cách 2 — Ghi nhớ theo nhóm chức năng
Có thể nhóm 4 hàm này theo công việc chúng làm:
float()vàstr(): hàm chuyển đổi kiểu (ép kiểu) — nhận 1 giá trị, trả lại giá trị đó ở kiểu mới (float / str).len(): hàm đo độ dài — nhận 1 đối tượng có nhiều phần tử, trả lại số nguyên đếm số phần tử.list(): hàm tạo danh sách — nhận đối tượng duyệt được, trả lại một list.
| Hàm | Tham số | Giá trị trả lại |
|---|---|---|
float() | số hoặc xâu biểu diễn số | số thực |
str() | giá trị bất kì | xâu kí tự |
len() | đối tượng có độ dài | số nguyên (độ dài) |
list() | đối tượng duyệt được | danh sách |
⚠️ Lưu ý thi:len()chỉ dùng cho đối tượng có độ dài (xâu, list…). Gọilen(5)(một số) sẽ báo lỗi vì số không có độ dài.
Câu 3 (Hoạt động 2 – Ví dụ minh họa)
Đề bài: Quan sát các ví dụ sau để biết cách viết hàm.
Đây là hoạt động quan sát ví dụ, không phải câu hỏi yêu cầu tính toán. Dưới đây phân tích đầy đủ 2 ví dụ trong SGK.
Phân tích Ví dụ 1 — Hàm có trả lại giá trị
>>> def inc(n):
return n+1
>>> inc(3)
4
- Tên hàm:
inc. - Tham số hàm: số
n. - Giá trị trả lại: số
n + 1(nhờ từ khóareturn). - Khi gọi
inc(3): thayn = 3, hàm trả lại3 + 1 = 4.
Phân tích Ví dụ 2 — Hàm không trả lại giá trị
>>> def thong_bao(msg):
print("Xin chào bạn", msg)
return
>>> thong_bao("Trần Quang Minh")
Xin chào bạn Trần Quang Minh
- Tên hàm:
thong_bao. - Tham số hàm: xâu kí tự
msg. - Giá trị trả lại: không có (
returnđứng một mình, không kèm giá trị). - Khi gọi
thong_bao("Trần Quang Minh"): hàm in ra màn hình dòng chữXin chào bạn Trần Quang Minh.
So sánh hai ví dụ: - Ví dụ 1:return n+1→ trả lại giá trị để dùng tiếp. - Ví dụ 2:return(trống) hoặc thực hiện in → không trả lại giá trị, chỉ thực hiện công việc.
💡 Mẹo nhớ: Córeturnthì hàm trả kết quả; còn nếu chỉprint(...)thì hàm chỉ hiển thị ra màn hình chứ không trả về giá trị để gán cho biến.
⚠️ Lưu ý thi: Khối lệnh trong hàm bắt buộc viết lùi vào (thụt đầu dòng) và thẳng hàng. Sai thụt lề là lỗi cú pháp rất hay gặp khi viết hàm trong Python.
🎯 Ghi nhớ: Hàm trong Python được định nghĩa bằng từ khóadef, theo sau là tên hàm và cặp ngoặc chứa tham số (có thể trống). Khối lệnh viết sau dấu:và thụt vào thẳng hàng. Hàm có thể trả lại giá trị bằngreturn, hoặc không trả giá trị nào. Ngoài các hàm tự định nghĩa, Python còn có sẵn rất nhiều hàm nhưprint(),int(),len(),str()… dùng theo cú pháptên_hàm(tham_số).
