🧩 Hàm trong Python
📌 Định nghĩa một hàm trong Python
Khi định nghĩa các hàm để cung cấp một tính năng nào đó, bạn cần theo các quy tắc sau:
- Từ khóa
defđược sử dụng để bắt đầu phần định nghĩa hàm. - Theo sau là
tên_hàm()và dấu hai chấm:. - Bên trong dấu ngoặc có thể chứa tham số.
- Bên trong hàm cần có thụt dòng đồng nhất.
- Có thể có chuỗi tài liệu (docstring) ngay sau dòng định nghĩa.
- Các câu lệnh sẽ được thực thi khi gọi hàm.
🧠 Cú pháp
def ten_ham(cac_tham_so):
"function_docstring"
function_suite
return [bieu_thuc]
▶️ Ví dụ đơn giản
# Phần định nghĩa hàm ở đây
def printme(str):
"Chuỗi này được truyền vào trong hàm"
print(str)
return
# Bây giờ bạn có thể gọi hàm printme
printme("Lời gọi đầu tiên tới custom func!")
printme("Lời gọi thứ hai tới custom func")
# Bấm play để xem kết quả
📞 Cách gọi hàm
Cú pháp gọi hàm:
ten_ham(cac_tham_so)
🔁 Hàm có kết quả trả về – return()
# Phần định nghĩa hàm ở đây
def sum(arg1, arg2):
# Cộng hai tham số và trả về kết quả.
total = arg1 + arg2
print("Bên trong hàm:", total)
return total
# Bây giờ bạn có thể gọi hàm sum này
total = sum(10, 20)
print("Bên ngoài hàm:", total)
# Bấm play để xem kết quả
🧩 Phân biệt: Tham số (parameter) vs. Đối số (argument)
- Parameter là biến được định nghĩa trong hàm.
- Argument là giá trị được truyền vào khi gọi hàm.
def addition(x, y): # parameter
print(x + y)
x = 15
addition(x, 10) # argument
addition(x, x)
y = 20
addition(x, y)
# Bấm play để xem kết quả
🎛 Các kiểu tham số trong Python
1. Tham số bắt buộc
def sum(a, b):
c = a + b
print(c)
sum(10, 20)
sum(20) # chỉ có a, thiếu b nên sẽ lỗi
# Bấm play để xem kết quả
⚠️ Dòng
sum(20)sẽ gây lỗiTypeError.
2. Tham số mặc định
def msg(Id, Ten, Age=21):
print(Id)
print(Ten)
print(Tuoi)
return
msg(Id=100, Ten='Hoang', Age=20)
msg(Id=101, Ten='Thanh') # không lỗi vì có mặc định
# Bấm play để xem kết quả
⚠️ Biến
Tuoikhông được định nghĩa → cần sửa thànhprint(Age)
✅ Phiên bản đúng của trên:
def msg(Id, Ten, Age=21):
print(Id)
print(Ten)
print(Age)
return
msg(Id=100, Ten='Hoang', Age=20)
msg(Id=101, Ten='Thanh') # không lỗi vì có mặc định
# Bấm play để xem kết quả
3. Tham số từ khóa
def msg(id, name):
print(id)
print(ten)
return
msg(id=100, name='Hoang')
msg(name='Thanh', id=101)
# Bấm play để xem kết quả
⚠️ Gây lỗi do biến
tenkhông được định nghĩa. Sửa lại thànhprint(name)
✅ Phiên bản đúng:
def msg(id, name):
print(id)
print(name)
return
msg(id=100, name='Hoang')
msg(name='Thanh', id=101)
# Bấm play để xem kết quả
4. Hàm với số tham số thay đổi
def printinfo(*args):
for val in args:
print(val)
printinfo(1, 2, 3)
printinfo("a", "b")
# Bấm play để xem kết quả
🧨 Hàm nặc danh (Lambda)
Hàm Lambda là hàm không tên, khai báo bằng từ khóa lambda.
# Phần định nghĩa hàm
square = lambda x1: x1 * x1
# Gọi square như là một hàm
print("Bình phương của số là", square(10))
# Bấm play để xem kết quả