Tin Học KHMT
Ôn tập Tin học THPT › Tin học 10 › Bài 30
Tin học 10

Bài 30. Hàm (function)

Bài học giới thiệu hàm (function) trong Python - công cụ giúp đóng gói một đoạn việc thành một khối lệnh có tên, để dùng lại nhiều lần thay vì phải viết đi viết lại cùng một đoạn mã trong chương trình.

Chủ đề F · Lập trình, Thuật toán & CTDL (KHMT) - đọc khoảng 12 phút · 24 câu luyện tập trong ứng dụng

Tương ứng sách giáo khoa
  • Cánh DiềuTin học 10 - Chủ đề F · Bài 10. Chương trình con và thư viện các chương trình con có sẵntr. 86
  • Kết nối tri thứcTin học 10 - Bài 26. Hàm trong Pythontr. 127–130
Xem bảng đối chiếu cả bộ →

Bắt đầu bằng một hình dung

Hãy hình dung một chiếc máy xay sinh tố đặt trong bếp. Muốn có một li nước ép, người dùng không cần tự tay nghiền, lọc và khuấy trái cây - chỉ cần bỏ nguyên liệu vào cối xay, đậy nắp, bấm nút; máy sẽ tự thực hiện các bước xử lí bên trong rồi trả ra thành phẩm là li nước ép. Muốn xay táo thì bỏ táo vào, muốn xay xoài thì bỏ xoài vào - vẫn là chiếc máy đó, dùng lại bao nhiêu lần cũng được, không cần chế tạo một chiếc máy mới cho mỗi loại trái cây.

Trong lập trình cũng có một công cụ hoạt động theo đúng tinh thần ấy: nhận một số dữ liệu đầu vào, xử lí theo một quy trình đã định sẵn, rồi trả ra kết quả - và có thể dùng lại nhiều lần mà không phải viết lại quy trình xử lí từ đầu mỗi khi cần dùng. Công cụ đó gọi là hàm.

Nội dung bài học

  1. Vì sao cần dùng hàm?
  2. Định nghĩa hàm và gọi hàm

Tóm tắt lý thuyết cần nhớ

  • Hàm (function) là một đoạn chương trình được đặt tên, đóng gói một công việc cụ thể để có thể gọi lại nhiều lần mà không phải viết lại từ đầu.
  • Cú pháp định nghĩa hàm: def ten_ham(tham_so):, thân hàm thụt lề bên dưới; muốn hàm thực hiện thì phải gọi hàm bằng ten_ham(gia_tri).
  • return dùng để trả kết quả từ bên trong hàm ra cho nơi gọi; một hàm có thể có hoặc không có tham số, có hoặc không có return, tuỳ vào công việc cần làm.
  • Dùng hàm giúp chương trình gọn, dễ đọc, dễ sửa và tái sử dụng được, thay vì phải lặp lại cùng một đoạn lệnh ở nhiều chỗ.

Thuật ngữ tiếng Anh trong bài

Tiếng AnhĐọc làNghĩa
functionPHẮNG-sầnhàm
Một 'cỗ máy nhỏ' lắp sẵn để làm một việc cụ thể.
defđépkhai báo hàm (def)
Từ khoá để bắt đầu tạo một hàm mới, như treo tấm bảng 'bắt đầu công thức'.
returnri-TƠNlệnh trả về (return)
Lệnh đưa kết quả từ trong hàm ra ngoài để dùng tiếp - như đưa món ăn nấu xong ra khỏi bếp để mang lên bàn.

Câu hỏi trắc nghiệm có đáp án

Mấy câu mẫu để bạn tự kiểm tra ngay. Trong ứng dụng, bài này có đủ 24 câu, chấm điểm tự động và giải thích từng câu sai.

Câu 1 · Nhận biết
Trong lập trình, hàm (function) được dùng để làm gì?
  1. Đóng gói một đoạn việc có tên, để có thể dùng lại nhiều lần mà không phải viết lại
  2. Lưu trữ một dữ liệu cố định, không bao giờ thay đổi trong suốt chương trình
  3. Chỉ dùng để hiển thị hình ảnh lên màn hình máy tính
  4. Thay thế hoàn toàn cho việc dùng biến trong chương trình
Đáp án: A - Hàm là một đoạn chương trình được đặt tên và đóng gói lại để thực hiện một công việc cụ thể, có thể gọi lại nhiều lần mà không phải viết lại đoạn lệnh đó. Các phương án còn lại mô tả sai bản chất của hàm hoặc nhầm sang công dụng của những khái niệm khác.
Câu 2 · Nhận biết
Từ khoá nào dùng để bắt đầu định nghĩa một hàm trong Python?
  1. return
  2. def
  3. print
  4. call
Đáp án: B - def (viết tắt của define) là từ khoá dùng để bắt đầu định nghĩa một hàm mới, theo cú pháp def ten_ham(tham_so):. return dùng để trả kết quả ra khỏi hàm, print dùng để in dữ liệu ra màn hình, còn call không phải là từ khoá của Python.
Câu 3 · Thông hiểu
Trong hàm def tinh_dien_tich(dai, rong):, hai tên dairong được gọi là gì, và giữ vai trò nào?
  1. Là kết quả mà hàm trả về sau khi tính toán xong tích của hai cạnh
  2. Là tham số của hàm - dữ liệu đầu vào mà hàm nhận được mỗi khi được gọi
  3. Là tên gọi khác của chính hàm tinh_dien_tich, dùng để gọi hàm cho ngắn
  4. Là dòng lệnh dùng để gọi hàm ra thực hiện mỗi khi cần tính diện tích
Đáp án: B - dairong là các tham số của hàm - dữ liệu đầu vào mà hàm nhận được mỗi khi được gọi, chẳng hạn tinh_dien_tich(5, 3), rồi dùng để tính toán bên trong thân hàm. Kết quả trả về là giá trị đi sau return, khác với bản thân các tham số.
Câu Đúng/Sai (Phần II) · Thông hiểu
Cho biết mỗi phát biểu sau đúng hay sai:
  • a)Muốn hàm thực sự thực hiện công việc bên trong, phải gọi hàm bằng tên hàm kèm giá trị cụ thể trong ngoặc.Đúng
  • b)Một hàm trong Python bắt buộc phải có ít nhất một tham số thì mới được coi là hợp lệ.Sai
  • c)Lệnh return dùng để trả một giá trị từ bên trong hàm ra cho nơi đã gọi hàm.Đúng
  • d)Các dòng lệnh trong thân hàm không cần thụt lề, chỉ cần viết liền sau dấu hai chấm trên cùng một dòng là được.Sai
Vì sao:
  • (a) Đúng - hàm chỉ thực sự chạy khi được gọi bằng tên hàm kèm giá trị cụ thể trong ngoặc, ví dụ tinh_dien_tich(5, 3); nếu chỉ định nghĩa mà không có lượt gọi nào, các lệnh bên trong sẽ không được thực hiện.
  • (b) Sai - một hàm hoàn toàn có thể không có tham số nào, như hàm in_tieu_de() trong bài, vẫn là một hàm hợp lệ.
  • (c) Đúng - đây chính là công dụng của return: đưa giá trị từ bên trong hàm ra ngoài cho nơi đã gọi.
  • (d) Sai - thân hàm phải được viết trên các dòng riêng, thụt lề thống nhất bên dưới dấu hai chấm; Python dựa vào thụt lề để xác định dòng nào thuộc về hàm.

Thử ngay: minh hoạ từng bước

Bấm từng bước để tự xem cơ chế hoạt động, hoặc bấm “Tự chạy” cho nó tiến mỗi giây một lần. Đổi được dữ liệu đầu vào - không cần đăng nhập.

Học trọn bài này trong ứng dụng

Bài giảng đầy đủ, 24 câu luyện tập chấm tự động, thi thử đúng cấu trúc đề tốt nghiệp (24 trắc nghiệm + 4 Đúng/Sai), bài thực hành máy tự chấm và gia sư AI giải thích chỗ sai.

Mở bài 30 trong ứng dụng

Phần học miễn phí, không cần tạo tài khoản.