Hàm trong Python: Hướng dẫn chi tiết cho người mới bắt đầu
Hàm là một khối mã có thể tái sử dụng, giúp chương trình trở nên ngắn gọn và dễ quản lý hơn. Trong bài viết này, chúng ta sẽ tìm hiểu về cách định nghĩa và gọi hàm, tham số và giá trị trả về, cũng như sự khác biệt giữa biến toàn cục và biến cục bộ trong Python.
1. Cách định nghĩa và gọi hàm
Định nghĩa hàm
Trong Python, hàm được định nghĩa bằng từ khóa def
, theo sau là tên hàm và danh sách tham số (nếu có):
def say_hello():
print("Xin chào!")
Gọi hàm
Để gọi một hàm, bạn chỉ cần sử dụng tên hàm kèm theo dấu ngoặc đơn:
say_hello() # Kết quả: Xin chào!
Hàm cũng có thể nhận tham số:
def greet(name):
print(f"Chào {name}!")
greet("Alice") # Kết quả: Chào Alice!
2. Tham số và giá trị trả về
Tham số trong hàm
Hàm có thể nhận nhiều tham số:
def add(a, b):
return a + b
result = add(3, 5)
print(result) # Kết quả: 8
Python hỗ trợ nhiều loại tham số:
- Tham số mặc định:
def greet(name="Bạn"):
print(f"Chào {name}!")
greet() # Kết quả: Chào Bạn!
- Tham số không xác định số lượng (
*args
):
def sum_numbers(*numbers):
return sum(numbers)
print(sum_numbers(1, 2, 3, 4)) # Kết quả: 10
- Tham số từ khóa (
**kwargs
):
def user_info(**info):
for key, value in info.items():
print(f"{key}: {value}")
user_info(name="Alice", age=25)
Giá trị trả về từ hàm
Hàm có thể trả về giá trị bằng từ khóa return
:
def square(x):
return x * x
print(square(4)) # Kết quả: 16
3. Biến toàn cục và biến cục bộ
Biến cục bộ
Biến được khai báo bên trong hàm chỉ có thể sử dụng trong phạm vi của hàm đó:
def demo():
x = 10 # Biến cục bộ
print(x)
demo()
#print(x) # Lỗi vì x không tồn tại bên ngoài hàm
Biến toàn cục
Biến được khai báo bên ngoài hàm có thể được truy cập trong toàn bộ chương trình:
y = 20 # Biến toàn cục def show(): print(y) show() # Kết quả: 20
Sử dụng từ khóa
global
Nếu muốn thay đổi giá trị của biến toàn cục bên trong một hàm, bạn cần sử dụng từ khóa global
:
z = 5
def modify_global():
global z
z = 10
modify_global()
print(z) # Kết quả: 10
Kết luận
Hàm trong Python giúp chương trình dễ quản lý và tái sử dụng hơn. Việc hiểu rõ cách định nghĩa, gọi hàm, làm việc với tham số, giá trị trả về và phân biệt biến toàn cục - biến cục bộ sẽ giúp bạn viết mã hiệu quả hơn. Hy vọng bài viết này hữu ích cho bạn trong quá trình học lập trình Python!