BÀI 26. HÀM TRONG PYTHON
1. MỘT SỐ HÀM THIẾT KẾ SẴN CỦA PYTHON
Cách sử dụng:
Gọi tên hàm kèm theo cặp dấu ngoặc tròn (), bên trong có thể chứa các tham số (dữ liệu đầu vào) hoặc không.
Ví dụ:
Hàm print("Xin chào") dùng để in chữ ra màn hình.
Các hàm chuyển đổi dữ liệu:
int(): Chuyển xâu hoặc số thực thành số nguyên.
Ví dụ: int("5") chuyển xâu "5" thành số 5.
float(): Chuyển xâu hoặc số nguyên thành số thực.
Ví dụ: float(4) chuyển số 4 thành 4.0.
str(): Chuyển số thành xâu kí tự.
Ví dụ: str(10) chuyển số 10 thành xâu "10".
Các hàm toán học và xử lý chuỗi:
len(): Tính độ dài của danh sách hoặc xâu.
Ví dụ: len("abc") trả về 3.
abs(): Tính giá trị tuyệt đối.
Ví dụ: abs(-5) trả về 5.
CÂU HỎI TRẮC NGHIỆM
Câu 1: Hàm nào được sử dụng để in dữ liệu ra màn hình?
Câu 2: Hàm nào sau đây dùng để tính giá trị tuyệt đối?
Câu 3: Để chuyển một số thành xâu kí tự, ta dùng hàm nào?
Câu 4: Kết quả của câu lệnh int(4.9) là bao nhiêu?
Câu 5: Kết quả của lệnh len("abc") trả về giá trị nào?
Câu 6: Lệnh float(4) sẽ thực hiện việc chuyển đổi và trả về gì?
Câu 7: Biểu thức abs(-5) + len("ab") sẽ cho ra kết quả bằng bao nhiêu?
Câu 8: Cho biến x = "10", để tính toán x + 5 hợp lệ trong Python, ta viết:
2. THIẾT LẬP CÁC HÀM TỰ ĐỊNH NGHĨA
Cú pháp khai báo hàm:
- Sử dụng từ khóa def ở đầu, theo sau là tên hàm và cặp ngoặc tròn chứa tham số (nếu có), kết thúc bằng dấu hai chấm (:).
- Ví dụ:
def xin_chao(ten):
Khối lệnh của hàm:
- Các lệnh bên trong hàm phải được viết thụt đầu dòng (thường là 4 dấu cách hoặc 1 Tab) so với dòng def.
- Ví dụ:
def xin_chao(ten):
print("Chào bạn", ten)
Trả về giá trị (Lệnh return):
- Hàm có thể trả lại kết quả cho chương trình chính thông qua lệnh return. Khi gặp lệnh này, hàm sẽ kết thúc ngay lập tức.
- Ví dụ: Hàm tính tổng hai số:
def tong(a, b):
return a + b
Gọi hàm:
- Để sử dụng hàm đã tạo, ta viết tên hàm và truyền giá trị vào (nếu hàm có tham số).
- Ví dụ: Gọi hàm tong(3, 5), máy sẽ tính và trả về kết quả là 8.
Lợi ích của hàm:
- Giúp chương trình ngắn gọn, dễ đọc, dễ sửa lỗi và có thể dùng lại nhiều lần.
- Ví dụ: Thay vì viết 3 lần công thức tính diện tích hình tròn, em chỉ cần viết 1 hàm tinh_dien_tich(r) và gọi nó 3 lần với các bán kính khác nhau.
CÂU HỎI TRẮC NGHIỆM
Câu 9: Từ khóa nào được sử dụng ở đầu để khai báo một hàm?
Câu 10: Khối lệnh bên trong một hàm phải được viết như thế nào so với dòng def?
Câu 11: Hàm có thể trả lại kết quả cho chương trình chính thông qua lệnh nào?
Câu 12: Khi chương trình chạy đến lệnh return, hàm sẽ hoạt động như thế nào?
Câu 13: Lợi ích chính của việc thiết lập hàm tự định nghĩa là gì?
Câu 14: Khi ta gọi hàm tong(3, 5) như trong ví dụ, máy sẽ trả về kết quả gì?
Câu 15: Dựa vào hàm kiem_tra_chan(n), nếu ta truyền vào số 5 thì hàm trả về gì?
Câu 16: Việc gọi hàm tinh_dien_tich(r) ba lần với các tham số khác nhau giúp ta làm gì?
3. THỰC HÀNH
Nhiệm vụ 1: Hàm cơ bản nhất (Không tham số, không giá trị trả về)
Đề bài:
- Viết một hàm có tên là chao_hoi().
- Hàm này có nhiệm vụ hỏi tên người dùng từ bàn phím và in ra màn hình câu chào "Xin chào, [tên người dùng]!".
- Viết chương trình chính để gọi hàm này chạy 2 lần liên tiếp.
Hướng dẫn:
- Sử dụng từ khóa def để bắt đầu định nghĩa hàm chao_hoi().
- Bên trong hàm, dùng lệnh input() để lấy tên và print() để in lời chào.
- Ở phần chương trình chính (viết thẳng hàng với chữ def), tiến hành viết lệnh gọi chao_hoi() hai lần để thấy hàm có thể được tái sử dụng mà không cần viết lại đoạn mã bên trong.
Chương trình Python hoàn chỉnh:
Nhiệm vụ 2: Hàm có tham số và có kết quả trả về (return)
Đề bài:
- Viết một hàm có tên là kiem_tra_chan(n) nhận vào một số nguyên n.
- Hàm sẽ kiểm tra và trả về giá trị True nếu n là số chẵn, trả về False nếu n là số lẻ.
- Viết chương trình chính yêu cầu người dùng nhập một số và dùng hàm trên để kiểm tra số đó.
Hướng dẫn:
- Định nghĩa hàm kiem_tra_chan(n) với n là tham số (được đặt trong ngoặc đơn).
- Bên trong hàm, sử dụng phép chia lấy phần dư ( n % 2 == 0 ) để kiểm tra tính chẵn lẻ.
- Nếu điều kiện đúng, dùng return True. Nếu điều kiện sai, dùng return False.
- Ở chương trình chính, dùng int(input()) để nhập một số.
- Sau đó, đặt biến số vừa nhập vào trong ngoặc của hàm để kiểm tra và dùng lệnh if để in ra kết quả tương ứng.