Trong bài học này, bạn sẽ học cách tái sử dụng mã nguồn hiệu quả bằng cách xây dựng hàm với từ khóa def, truyền tham số đầu vào, trả về giá trị thông qua return và nắm vững quy tắc quản lý phạm vi biến (scope) trong Python.
Khái niệm
Hàm (Function) trong Python là một khối mã nguồn có thể tái sử dụng được thiết kế để thực hiện một tác vụ cụ thể. Việc sử dụng hàm giúp tổ chức chương trình thành các phần nhỏ hơn, dễ quản lý, dễ bảo trì và hạn chế lặp lại mã nguồn.
Biến trong hàm có hai loại phạm vi chính:
- Phạm vi cục bộ (Local Scope): Biến được khai báo bên trong hàm chỉ có thể truy cập nội bộ trong hàm đó và sẽ bị xóa khi hàm kết thúc.
- Phạm vi toàn cục (Global Scope): Biến được khai báo bên ngoài các hàm, có thể truy cập từ bất kỳ đâu trong chương trình. Để thay đổi giá trị của biến toàn cục bên trong một hàm, cần sử dụng từ khóa
global.
Cú pháp
Định nghĩa một hàm trong Python bắt đầu bằng từ khóa def, theo sau là tên hàm, cặp dấu ngoặc đơn chứa các tham số (nếu có) và dấu hai chấm. Khối lệnh của hàm phải được thụt lùi dòng.
def ten_ham(tham_so1, tham_so2): # Khối lệnh xử lý return gia_triCác dạng truyền tham số phổ biến bao gồm:
- Tham số vị trí (Positional Arguments): Giá trị được truyền vào theo đúng thứ tự khai báo.
- Tham số mặc định (Default Parameters): Gán giá trị mặc định cho tham số nếu không có argument được truyền vào.
- Tham số từ khóa (Keyword Arguments): Truyền giá trị kèm tên tham số, không phụ thuộc vào thứ tự.
- Tham số biến thiên: Sử dụng
*argsđể nhận nhiều tham số vị trí dưới dạng tuple và**kwargsđể nhận nhiều tham số từ khóa dưới dạng dictionary.
Ví dụ minh họa
Dưới đây là các ví dụ minh họa chi tiết về định nghĩa hàm, giá trị trả về và phạm vi biến trong Python:
# 1. Hàm tính tổng hai số đơn giản và trả về giá trịdef add(a, b): return a + bresult = add(5, 3)print(result) # Kết quả: 8# 2. Hàm trả về nhiều giá trị (dưới dạng tuple)def get_coordinates(): x = 10 y = 20 return x, ypos_x, pos_y = get_coordinates()print(pos_x, pos_y) # Kết quả: 10 20# 3. Hàm sử dụng tham số mặc địnhdef greet(name=
Nguồn tham khảo
- PyQuant News: Python Functions: Definition, Scope, and Returns
- ProjPython – Functions, return values, and scope
- 2.3 Local Variables and Function Scope
- Introduction to Python: Functions Cheatsheet | Codecademy
- Python Functions - GeeksforGeeks
Từ khóa: hàm trong python, định nghĩa hàm python, phạm vi biến python, return trong python, cách tạo hàm trong python, phạm vi biến local và global python, từ khóa def python, truyền tham số python
Nhận xét
Đăng nhận xét