Cơ bảnKiến thức cơ bản

Hàm trong Python: Cách tạo và gọi hàm (def, return)

8 phút đọc0 lượt xem
#hàm python#function python#def python#lambda python#python cơ bản

Hàm trong Python: Cách tạo và gọi hàm (def, return)

Bạn có bao giờ viết đi viết lại cùng một đoạn code? Câu trả lời chính là hàm (function) — công cụ giúp bạn viết code một lần, dùng lại nhiều lần.

Hàm là gì? Tại sao cần dùng?

# CÓ hàm — DRY principle!
def xep_loai(diem):
    if diem >= 8.0:
        return "Giỏi"
    elif diem >= 6.5:
        return "Khá"
    else:
        return "Trung bình"

print(xep_loai(8.5))    # Giỏi
print(xep_loai(6.5))    # Khá

Cú pháp định nghĩa hàm

def tên_hàm(tham_số_1, tham_số_2):
    """Docstring: Mô tả hàm"""
    # Code thực hiện
    return kết_quả

Các loại tham số

Tham số mặc định

def tao_email(ten, domain="gmail.com"):
    return f"{ten.lower()}@{domain}"

print(tao_email("minh"))              # minh@gmail.com
print(tao_email("lan", "yahoo.com"))  # lan@yahoo.com

*args và **kwargs

def tinh_tong(*so):
    return sum(so)

print(tinh_tong(1, 2, 3))    # 6
print(tinh_tong(10, 20, 30)) # 60

Trả về nhiều giá trị

def phan_tich_diem(ds):
    return max(ds), min(ds), sum(ds)/len(ds)

diem = [8.5, 6.0, 9.2, 7.8]
cao, thap, tb = phan_tich_diem(diem)
print(f"Cao: {cao}, Thấp: {thap}, TB: {tb:.2f}")

Lambda Function

nhan_doi = lambda x: x * 2
print(nhan_doi(5))    # 10

# Lambda với sorted()
sinh_vien = [{"ten": "Minh", "diem": 8.5}, {"ten": "Lan", "diem": 9.2}]
sap_xep = sorted(sinh_vien, key=lambda sv: sv["diem"])

Hàm built-in thường dùng

print(abs(-10))         # 10
print(max(1, 5, 3))     # 5
print(min(1, 5, 3))     # 1
print(sum([1, 2, 3]))   # 6
print(len("hello"))     # 5
print(sorted([3,1,2]))  # [1, 2, 3]

Kết luận

Hàm là trung tâm của lập trình Python hiện đại. Nắm vững def, return, *args/**kwargs sẽ giúp bạn viết code sạch hơn và ít lặp hơn.

Về tác giả

Ảnh đại diện tác giả Kenji — họa tiết hình học

Kenji

Kỹ sư phần mềm full-stack (Web), hơn 5 năm kinh nghiệm thực tế

  • Python
  • DB
  • Hạ tầng
  • Đào tạo & cố vấn
  • AI

Làm việc cùng đồng nghiệp người Việt, tôi thấy thiếu tài liệu kỹ thuật rõ ràng bằng tiếng Việt. codeahoc là nơi tôi chia sẻ theo hướng thực tế, dễ áp dụng.

Nguyên tắc nội dung

  • Ưu tiên nguồn gốc và góc nhìn từ thực tế triển khai.
  • Nếu có sai sót, nội dung sẽ được cập nhật và sửa kịp thời.

Khóa học liên quan

100 Days of Code: The Complete Python Pro Bootcamp

Học Python qua 100 dự án thực tế. Phù hợp cho người mới bắt đầu.

4.7499.000 ₫
Xem khóa học →

Python for Data Science and Machine Learning Bootcamp

Học Data Science với Python: pandas, matplotlib, scikit-learn.

4.6499.000 ₫
Xem khóa học →

Automate the Boring Stuff with Python

Tự động hóa công việc lặp đi lặp lại bằng Python.

4.6399.000 ₫
Xem khóa học →
Quảng cáo