Câu lệnh return của Python
Category: Python
Câu lệnh return được sử dụng để kết thúc việc thực thi lệnh gọi hàm và nó "trả về" giá trị của biểu thức theo sau từ khóa return cho người gọi. Các câu lệnh sau các câu lệnh return không được thực thi. Nếu câu lệnh return không có bất kỳ biểu thức nào, thì giá trị đặc biệt None sẽ được trả về. Câu lệnh return thường được sử dụng để gọi một hàm để các câu lệnh đã truyền có thể được thực thi.
Ví dụ:
def add(a, b):
# trả về tổng của a và b
return a + b
def is_true(a):
# trả về giá trị boolean của a
return bool(a)
# gọi hàm add
res = add(2, 3)
print(res) # In ra: 5
# gọi hàm is_true với biểu thức 2 < 5
res = is_true(2 < 5)
print(res) # In ra: True
Đầu ra:
5
True
Giải thích:
Hàm add(a, b): Nhận hai đối số a và b. Trả về tổng của a và b.
Hàm is_true(a): Nhận một đối số a. Trả về giá trị boolean của a.
Gọi hàm: res = add(2, 3) tính tổng của 2 và 3, lưu trữ kết quả (5) trong res. res = is_true(2 < 5) đánh giá biểu thức 2 < 5 (là True) và lưu trữ giá trị boolean True trong res.
Cú pháp:
def function_name(tham số):
# Thân hàm
return value
Khi câu lệnh return được thực thi, hàm sẽ kết thúc và giá trị được chỉ định sẽ được trả về cho người gọi. Nếu không có giá trị nào được chỉ định, hàm sẽ trả về None theo mặc định.
Ghi chú:
Lưu ý: Câu lệnh return không thể được sử dụng bên ngoài hàm.
Trả về nhiều giá trị
Python cho phép bạn trả về nhiều giá trị từ một hàm bằng cách trả về chúng dưới dạng một tuple:
Ví dụ:
def fun():
name = "Alice"
age = 30
return name, age
name, age = fun()
print(name)
print(age) # Đầu ra: 30
Đầu ra:
Alice
30
Trong ví dụ này, hàm fun() trả về hai giá trị: name và age. Người gọi giải nén các giá trị này thành các biến riêng biệt.
Danh sách trả về
Chúng ta cũng có thể trả về các cấu trúc dữ liệu phức tạp hơn như danh sách hoặc từ điển từ một hàm:
def fun(n):
return [n**2, n**3]
res = fun(3)
print(res)
Đầu ra:
[9, 27]
Trong trường hợp này, hàm fun() trả về một danh sách chứa bình phương và lập phương của số đầu vào.
Hàm trả về một hàm khác
Trong Python, hàm là công dân hạng nhất, nghĩa là bạn có thể trả về một hàm từ một hàm khác. Điều này hữu ích để tạo các hàm bậc cao hơn.
Sau đây là ví dụ về một hàm trả về một hàm khác:
def fun1(msg):
def fun2():
# Sử dụng thông điệp từ hàm bên ngoài
return f"Message: {msg}"
return fun2 # Trả về hàm fun2 (không gọi ngay)
# Gán hàm fun2 vào biến fun3 thông qua lời gọi fun1
fun3 = fun1("Hello, World!")
# Gọi hàm fun3 (chính là fun2 được trả về)
print(fun3()) # In ra: Message: Hello, World!
Đầu ra:
Message: Hello, World!
Published on Jun 17, 2025