Tự viết hàm với def
Bài 3/5 · khoảng 8 phút đọc
Khi một đoạn code được dùng nhiều lần, hãy gói nó thành hàm của riêng bạn bằng từ khoá def (viết tắt của define — định nghĩa).
def chao(): print("Xin chào!") print("Chúc bạn một ngày vui vẻ.") chao()chao()Cấu trúc:
def tên_hàm():
các lệnh thuộc hàm (thụt vào 4 dấu cách)Hai bước: định nghĩa hàm (chỉ "dạy" Python hàm làm gì, chưa chạy) và gọi hàm (lúc đó mới chạy). Ở ví dụ trên ta gọi chao() hai lần nên lời chào hiện hai lần.
Vì sao nên dùng hàm?
- Tránh lặp code: viết một lần, dùng nhiều lần.
- Dễ đọc: tên hàm cho biết nó làm gì.
- Dễ sửa: cần đổi thì sửa một chỗ.
- Chia nhỏ bài toán: mỗi hàm lo một việc.
Hàm phải được định nghĩa trước khi gọi
chao() def chao(): print("Xin chào!")Python đọc từ trên xuống, nên khi gặp lệnh chao() nó chưa biết chao là gì.
Ghi nhớ:
def ten_ham():rồi thụt vào các lệnh. Định nghĩa không chạy; phải gọiten_ham()mới chạy. Định nghĩa trước, gọi sau.
Nếu chỉ định nghĩa hàm mà không gọi thì sao?
Không có gì xảy ra: định nghĩa chỉ "dạy" Python hàm làm gì, chưa chạy nó.