Mục tiêu
- Hiểu cách viết, gọi và tái sử dụng hàm (function)
- Biết về tham số, giá trị trả về, tham số mặc định, đối số không giới hạn
- Giúp code của bạn ngắn gọn, dễ đọc, chuyên nghiệp hơn
1. Ôn nhanh lại – Hàm cơ bản
Mã:
def say_hello():
print("Xin chào, chào mừng bạn học Python!")
say_hello()
Mã:
Xin chào, chào mừng bạn học Python!
2. Hàm có tham số
Mã:
def greet(name):
print("Xin chào,", name)
greet("Quan")
Mã:
Xin chào, Quan
3. Hàm có giá trị trả về
Mã:
def cong(a, b):
return a + b
tong = cong(10, 20)
print("Tổng là:", tong)
Mã:
Tổng là: 30
4. Tham số mặc định
Nếu bạn không truyền giá trị, nó sẽ tự dùng giá trị mặc định.
Mã:
def chao(name="bạn học viên"):
print("Xin chào", name)
chao()
chao("Quan")
Mã:
Xin chào bạn học viên
Xin chào Quan
5. Truyền nhiều đối số không giới hạn
Dùng *args để gom tất cả đối số thành tuple.
Mã:
def tong(*args):
s = 0
for i in args:
s += i
return s
print(tong(1, 2, 3, 4, 5))
Mã:
15
6. Truyền đối số theo tên (keyword arguments)
Dùng **kwargs để truyền cặp tên–giá trị như dictionary.
Mã:
def thong_tin(**kwargs):
for key, value in kwargs.items():
print(key, "=", value)
thong_tin(ten="Quan", tuoi=10, mon="Python nâng cao")
Mã:
ten = Quan
tuoi = 10
mon = Python nâng cao
7. Gọi hàm trong hàm
Một hàm có thể gọi hàm khác → chia nhỏ công việc.
Mã:
def binh_phuong(x):
return x * x
def tong_binh_phuong(a, b):
return binh_phuong(a) + binh_phuong(b)
print(tong_binh_phuong(3, 4))
Mã:
25
8. Hàm Lambda (hàm ẩn danh)
Hàm ngắn gọn dùng cho các phép tính nhỏ.
Mã:
binh_phuong = lambda x: x * x
print(binh_phuong(6))
Mã:
36
9. Ứng dụng nhỏ – Máy tính đơn giản
Mã:
def may_tinh(a, b, pheptoan):
if pheptoan == '+':
return a + b
elif pheptoan == '-':
return a - b
elif pheptoan == '*':
return a * b
elif pheptoan == '/':
return a / b
else:
return "Phép toán không hợp lệ"
print(may_tinh(10, 2, '+'))
print(may_tinh(10, 2, '*'))
Mã:
12
20
Tổng kết tiết 1 – Ngày 3
| Khái niệm | Mô tả | Ví dụ |
|---|---|---|
def | Định nghĩa hàm | def ten(): |
return | Trả giá trị | return x + y |
*args | Nhiều tham số | tong(*args) |
**kwargs | Từ khóa đối số | thong_tin(**kwargs) |
lambda | Hàm ẩn danh | lambda x: x*x |
