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).

Python
def chao():
print("Xin chào!")
print("Chúc bạn một ngày vui vẻ.")
chao()
chao()

Cấu trúc:

text
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

Python · ví dụ lỗ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ọi ten_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ó.

Tự viết hàm với def · Lý thuyết Python · PyKid