Xây Dựng Hàm (Function) Và Quản Lý Phạm Vi Biến Trong Python

Khi viết các chương trình lớn, việc lặp đi lặp lại những đoạn mã trùng lặp không chỉ làm mã nguồn trở nên cồng kềnh mà còn gây khó khăn cho quá trình bảo trì. Hàm (Function) trong Python chính là giải pháp tối ưu giúp chia nhỏ chương trình thành các khối lệnh có tổ chức và có thể tái sử dụng dễ dàng.

Xây Dựng Hàm Function Và Quản Lý Phạm Vi Biến Trong Python
Ảnh minh họa: Hàm trong Python là gì? Các loại hàm và cú pháp function Python

1. Hàm trong Python là gì và cách định nghĩa

Hàm là một tập hợp các khối lệnh thực hiện một tác vụ cụ thể. Trong Python, chúng ta định nghĩa một hàm bằng từ khóa def, theo sau là tên hàm và cặp dấu ngoặc đơn ().

Cú pháp cơ bản:

def tên_hàm(danh_sách_tham_số):
    """Docstring: Mô tả chức năng của hàm (không bắt buộc)"""
    # Các câu lệnh xử lý
    return giá_trị

Ví dụ khai báo và gọi hàm:

def xin_chao():
    print("Chao mung ban den voi Python!")

# Gọi hàm
xin_chao()

2. Truyền tham số vào hàm

Hàm có thể nhận các tham số (arguments) để xử lý dữ liệu động linh hoạt hơn.

def tinh_tich(a, b):
    tich = a * b
    print(f"Tich cua {a} va {b} la: {tich}")

tinh_tich(4, 5)

3. Giá trị trả về với từ khóa return

Mặc định, nếu hàm không có từ khóa return, kết quả trả về của hàm sẽ là None. Để lấy được giá trị sau khi tính toán ra bên ngoài, chúng ta sử dụng câu lệnh return.

def tinh_tong(a, b):
    return a + b

ket_qua = tinh_tong(10, 20)
print("Tong la:", ket_qua)

4. Quản lý phạm vi biến (Scope)

Phạm vi của biến quyết định nơi biến đó có thể được truy cập hay chỉnh sửa trong chương trình. Khi làm việc với hàm, bạn cần phân biệt hai loại phạm vi biến cơ bản:

Biến cục bộ (Local Variable)

Biến cục bộ được khai báo bên trong hàm. Biến này chỉ tồn tại trong suốt quá trình hàm thực thi và sẽ bị xóa khỏi bộ nhớ khi hàm kết thúc. Bạn không thể truy cập biến cục bộ từ bên ngoài hàm.

def thuc_hien():
    x = 10  # Biến cục bộ
    print("Trong ham x =", x)

thuc_hien()
# print(x)  # Sẽ gây ra lỗi NameError vì x không tồn tại ở phạm vi ngoài hàm

Biến toàn cục (Global Variable)

Biến toàn cục được khai báo bên ngoài tất cả các hàm và có thể được đọc ở bất kỳ đâu trong chương trình.

y = 50  # Biến toàn cục

def in_gia_tri():
    print("Gia tri cua y la:", y)

in_gia_tri()

Kết luận

Nắm vững cách xây dựng hàm và quản lý phạm vi biến giúp chương trình Python của bạn trở nên mạch lạc, dễ đọc và tối ưu hơn. Việc chia nhỏ bài toán thành các hàm độc lập cũng tạo tiền đề quan trọng cho tư duy lập trình mô-đun và hướng đối tượng ở các bước phát triển tiếp theo.


Nguồn tham khảo


📚 Chuỗi bài: Lộ Trình Học Python Toàn Diện: Từ Con Số 0 Đến Ứng Dụng Thực Tế

Chuỗi 20 bài viết hướng dẫn lập trình Python theo lộ trình bài bản, giúp người mới bắt đầu nắm vững cú pháp nền tảng, tư duy lập trình hướng đối tượng, làm việc với dữ liệu và xây dựng ứng dụng thực tế.

  1. 1. Lộ Trình Python #1: Cài Đặt Môi Trường Và Viết Chương Trình Đầu Tiên
  2. 2. Lộ Trình Python #2: Biến Và Kiểu Dữ Liệu Cơ Bản Trong Python
  3. 3. Các Toán Tử Trong Python Và Cách Sử Dụng Chi Tiết
  4. 4. Cấu Trúc Điều Kiện If-Else Và Tư Duy Cấu Trúc Rẽ Nhánh Trong Python
  5. 5. Vòng Lặp For Và While Trong Python: Tối Ưu Hóa Việc Lặp Lại Công Việc
  6. 6. Xử Lý Chuỗi (String) Tối Ưu Trong Python
  7. 7. Làm Chủ Cấu Trúc Dữ Liệu List Và Tuple Trong Python
  8. 8. Quản Lý Dữ Liệu Với Dictionary Và Set Trong Python
  9. 9. Xây Dựng Hàm (Function) Và Quản Lý Phạm Vi Biến Trong Python ← Bạn đang đọc
  10. 10. Xử Lý Lỗi Và Ngoại Lệ Với Try-Except Trong Python
  11. 11. Thao Tác Đọc Và Ghi File Trong Python: Hướng Dẫn Chi Tiết Từ A Đến Z
  12. 12. Quản Lý Module Và Package Trong Python: Từ Chia Nhỏ Mã Nguồn Đến Sử Dụng Pip
  13. 13. Lập Trình Hướng Đối Tượng (OOP): Class Và Object Cơ Bản Trong Python
  14. 14. Bốn Trụ Cột Cơ Bản Của OOP Trong Python: Đóng Gói, Kế Thừa, Đa Hình Và Trừu Tượng Hóa
  15. 15. Xử Lý Ngày Tháng Và Thời Gian Với Module Datetime Trong Python
  16. 16. Làm Việc Với Dữ Liệu Định Dạng JSON Vượt Trội Trong Python
  17. 17. Cơ Bản Về Crawl Dữ Liệu Web Với BeautifulSoup
  18. 18. Xử Lý Dữ Liệu Bảng Cơ Bản Với Pandas
  19. 19. Xây Dựng RESTful API Đơn Giản Với Flask
  20. 20. Dự Án Cuối Khóa: Tự Động Hóa Công Việc Hàng Ngày Với Python

← Bài trước: Quản Lý Dữ Liệu Với Dictionary Và Set Trong Python Bài tiếp theo: Xử Lý Lỗi Và Ngoại Lệ Với Try-Except Trong Python →

Nhận xét